为docker配置http代理
一、配置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" 镜像名称