docker使用代理拉取镜像的注意事项

尝试使用终端代理

export http_proxy=http://127.0.0.1:8080
export https_proxy=http://127.0.0.1:8080
export ALL_PROXY=socks5://127.0.0.1:8081
#刷新代理
source ~/.bashrc
#取消全部代理
unset http_proxy https_proxy all_proxy

设置后使用docker pull 下载ghcr.io镜像依旧很慢,而使用curl cip.cc是国外的IP

docker这个程序只是一个控制台程序,用于attach,真正操作docker的是运行在后台的docker daemon,也就是我们需要通过systemctl start docker来启动docker daemon。所以说即使我们设置了环境变量http_proxy,那么也只是针对前台docker console使用,而真正访问pull镜像的确是后台的daemon,因此,需要设置daemon访问proxy。

mkdir -p /etc/systemd/system/docker.service.d
nano /etc/systemd/system/docker.service.d/http-proxy.conf

[Service]
Environment="HTTP_PROXY=http://USER:PASSWD@SERVER:PORT/"
Environment="HTTPS_PROXY=http://USER:PASSWD@SERVER:PORT/"

USER为代理用户名
PASSWD为代理密码
SERVER为代理地址
PORT为代理端口

重载并重启dockers即可使用代理下载镜像
systemctl daemon-reload
systemctl restart docker

 

为容器设置代理参考:https://cloud.tencent.com/developer/article/1806455
为服务器设置Clash代理参考:

点赞

发表回复