Docker 配置代理


Docker 配置代理

如果稍微了解docker的架构,会知道docker 只是客户端, 管理,查看容器状态docker ps/run 与容器建立连接docker exec 都是后台dockerd来完成的
所以客户端和服务端是单独的两个进程,https_proxy docker pull 是不走代理的, 那有时候registry 在公司,怎么办呢?

配置dockerd 走代理

很多人知道有 /etc/docker/daemon.json 文件可以配置很多选项,但唯独不能配置https_proxy, 只有通过systemd service配置

  1. 创建目录
sudo mkdir -p /etc/systemd/system/docker.service.d
  1. 创建文件
/etc/systemd/system/docker.service.d/http-proxy.conf
  1. 输入以下内容
[Service]
Environment="HTTPS_PROXY=https://proxy.example.com:80/"

配置容器走代理

也就是配置容器内访问internet时,走的代理

有两种办法:

  1. home目录添加配置文件
cat ~/.docker/config.json

{
 "proxies":
 {
   "default":
   {
     "httpProxy": "http://127.0.0.1:3001",
     "httpsProxy": "http://127.0.0.1:3001",
     "noProxy": "*.test.example.com,.example2.com"
   }
 }
}

  1. 通过-e 传环境变量实现


免责声明!

本站转载的文章为个人学习借鉴使用,本站对版权不负任何法律责任。如果侵犯了您的隐私权益,请联系本站邮箱yoyou2525@163.com删除。



 
粤ICP备18138465号  © 2018-2025 CODEPRJ.COM