当运行 Docker 的服务器无法直接访问 Internet 时,需要代理。
将 Docker 守护程序配置为使用代理服务器访问存储在官方 Docker Hub 注册表或者 3rd 方注册表中的图像。
有两种方法可以为 docker 配置代理:
- 在 /etc/sysconfig/docker 文件中配置代理变量
- 配置环境变量
方法一:在/etc/sysconfig/docker文件中配置代理变量
- 在/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"
- 设置好代理后重启Docker daemon。
# service docker restart
更多: zhilu jiaocheng
方法二:配置环境变量
- 创建一个drop-in
# mkdir /etc/systemd/system/docker.service.d
- 创建一个名为 /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"
- 重新加载systemd守护进程
# systemctl daemon-reload
- 重启docker
# systemctl restart docker
- 验证配置是否已加载:
# 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