当Docker的服务器无法直接访问Internet时,需要使用代理。将Docker守护程序配置为使用代理服务器来访问Docker Hub等镜像仓库。有两种方法可以为docker配置代理。
在 /etc/sysconfig/docker 文件中配置代理变量
配置环境变量
方法一: 在 /etc/sysconfig/docker 文件中配置代理变量
1、在 /etc/sysconfig/docker 文件中添加以下配置:
1
2export HTTP_PROXY="http://USERNAME:PASSWORD@[your.proxy.server]:[port]"
export HTTPS_PROXY="https://USERNAME:PASSWORD@[your.proxy.server]:[port]"
For example :
1
2
3# cat /etc/sysconfig/docker
HTTP_PROXY="http://username:password@192.168.1.1:8080"
HTTPS_PROXY="https://username:password@192.168.1.1:8080"
2、设置代理后,重新启动Docker守护程序。
1# service docker restart
方法二: 配置环境变量方式
1、创建目录(如果没有)
1# mkdir /etc/systemd/system/docker.service.d
2、编辑一个peoxy的配置文件 /etc/systemd/system/docker.service.d/http-proxy.conf ,添加内容为
1
2
3
4
5
6# vim /etc/systemd/system/docker.service.d/http-proxy.conf
[Service]
Environment="HTTP_PROXY=http://username:password@192.168.1.1:8080/"
Environment="HTTPS_PROXY=https://username:password@192.168.1.1:8080/"
Environment="NO_PROXY= hostname.example.com,172.16.0.12"
3、重新加载systemd守护程序
1# systemctl daemon-reload
4、重启docker
1# systemctl restart docker
5、验证配置是否已加载:
1
2# systemctl show docker --property Environment
Environment=HTTP_PROXY=http://username:password@192.168.1.1:8080/ HTTPS_PROXY=https://username:password@192.168.1.1:8080/ NO_PROXY= hostname.example.com,172.16.0.12
这样配置完成之后在 docker pull 镜像就可以了
验证第二种配置生效