因为网络原因,docker根本拉不出来镜像,网上那些镜像网站分分钟不能用,给docker挂个代理基本上是最稳定省事的解决方案了,在执行docker pull时,是由守护进程dockerd来执行。因此,代理需要配在dockerd的环境中。而这个环境,则是受systemd所管控,因此实际是systemd的配置。所以说第一步就是创建 dockerd 相关的 systemd 目录,这个目录下的配置将覆盖 dockerd 的默认配置
sudo mkdir -p /etc/systemd/system/docker.service.d
sudo touch /etc/systemd/system/docker.service.d/proxy.conf
在这个proxy.conf文件(可以是任意*.conf的形式)中,添加以下内容:
[Service]
Environment="HTTP_PROXY=socks5://账户:密码@IP:端口/"
Environment="HTTPS_PROXY=socks5://账户:密码@IP:端口/"
Environment="NO_PROXY=localhost,127.0.0.1,*.example.com"
多个 NO_PROXY 变量的值用逗号分隔,而且可以使用通配符(*),极端情况下,如果 NO_PROXY=*,那么所有请求都将不通过代理服务器。
重新加载配置文件,重启 dockerd
sudo systemctl daemon-reload
sudo systemctl restart docker
检查确认环境变量已经正确配置:
sudo systemctl show --property=Environment docker
从 docker info 的结果中查看配置项。
docker info
测试:
[root@xxx~]# docker pull snowdreamtech/frps:0.62.1
评论一下?