如何配置docker使用代理

当运行 Docker 的服务器无法直接访问 Internet 时,需要代理。
将 Docker 守护程序配置为使用代理服务器访问存储在官方 Docker Hub 注册表或者 3rd 方注册表中的图像。

有两种方法可以为 docker 配置代理:

  • 在 /etc/sysconfig/docker 文件中配置代理变量
  • 配置环境变量

方法一:在/etc/sysconfig/docker文件中配置代理变量

  1. 在/etc/sysconfig/docker文件中添加如下配置:
# cat /etc/sysconfig/docker
export HTTP_PROXY="http://USERNAME:PASSWORD@[your.proxy.server]:[port]"
export HTTPS_PROXY="https://USERNAME:PASSWORD@[your.proxy.server]:[port]"

例如 :

# cat /etc/sysconfig/docker
HTTP_PROXY="http://user01:password@10.10.10.10:8080"
HTTPS_PROXY="https://user01:password@10.10.10.10:8080"
  1. 设置好代理后重启Docker daemon。
# service docker restart
更多: zhilu jiaocheng

方法二:配置环境变量

  1. 创建一个drop-in
# mkdir /etc/systemd/system/docker.service.d
  1. 创建一个名为 /etc/systemd/system/docker.service.d/http-proxy.conf 的文件,添加 HTTP_PROXY 环境变量:
[Service]
Environment="HTTP_PROXY=http://user01:password@10.10.10.10:8080/"
Environment="HTTPS_PROXY=https://user01:password@10.10.10.10:8080/"
Environment="NO_PROXY= hostname.example.com,172.10.10.10"
  1. 重新加载systemd守护进程
# systemctl daemon-reload
  1. 重启docker
# systemctl restart docker
  1. 验证配置是否已加载:
# systemctl show docker --property Environment
Environment=GOTRACEBACK=crash HTTP_PROXY=http://10.10.10.10:8080/ HTTPS_PROXY=http://10.10.10.10:8080/ NO_PROXY= hostname.example.com,172.10.10.10
日期:2020-09-17 00:16:26 来源:oir作者:oir