docker配置proxy代理用户名和密码

当Docker的服务器无法直接访问Internet时,需要使用代理。将Docker守护程序配置为使用代理服务器来访问Docker Hub等镜像仓库。有两种方法可以为docker配置代理。

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

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

1、在 /etc/sysconfig/docker 文件中添加以下配置:

1
2
export 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 镜像就可以了

  • 验证第二种配置生效
感谢您的支持!