一、配置http代理访问docker hub

方法一:

#创建docker.service的自定义配置的扩展
sudo mkdir -p /etc/systemd/system/docker.service.d

#创建扩展的配置文件
sudo vim /etc/systemd/system/docker.service.d/http-proxy.conf

#添加http代理
[Service]
Environment="HTTP_PROXY=http://proxy.example.com:8000/" Environment="HTTPS_PROXY=http://proxy.example.com:8000/" Environment="NO_PROXY=localhost,127.0.0.1,.example.com"

#重新载入配置并重启docker
sudo systemctl daemon-reload
sudo systemctl restart docker

#验证配置是否生效
sudo systemctl show --property=Environment docker

方法二:

#在docker.service的[Service]中添加配置:
[Service]
Environment="HTTP_PROXY=http://proxy.example.com:8000/" Environment="HTTPS_PROXY=http://proxy.example.com:8000/" Environment="NO_PROXY=localhost,127.0.0.1,.example.com"

#重新载入配置并重启docker
sudo systemctl daemon-reload
sudo systemctl restart docker

#验证配置是否生效
sudo systemctl show --property=Environment docker

二、排错处理:

Error response from daemon: Get "https://registry-1.docker.io/v2/": proxyconnect tcp: EOF

出现此报错,是因为当前的http代理并不支持https协议。

#将https_proxy的代理也设置为http协议即可。
Environment="HTTPS_PROXY=http://proxy.example.com:8000/"

三、为docker容器配置代理

启动容器时附加环境变量

docker run -e HTTP_PROXY="http://proxy.example.com:8000" -e HTTPS_PROXY="http://proxy.example.com:8000" 镜像名称

标签: none

添加新评论