
linux下docker通过设置代理服务ip方式拉取镜像
国内 docker 镜像加速都禁止了,不管什么方法,都得科学上网之后从官方镜像源拉取
如果是 windows 电脑安装了 docker desktop,那么只要本机电脑开启了科学上网,就能从官方源拉取镜像
如果是 linux,要么也装个科学上网软件,要么设置代理服务器 ip 端口
下面讲解 linux 使用设置代理服务器 ip 端口的方式让 docker 从官方源拉取镜像的步骤
临时设置
首先得确定代理服务器的 ip、端口,这里假设是 192.168.56.11:5656
linux 设置代理临时代理
export HTTP_PROXY=192.168.56.11:5656
export HTTPS_PROXY=192.168.56.11:5656
测试 docker 拉取镜像
sudo docker pull openjdk:8-jre
有些同学可能遇到就算设置了 HTTP_PROXY、HTTPS_PROXY,也用 curl 访问过 google,确定代理服务是正常的,但是 docker 还是拉取镜像超时
那么你得确认下 HTTP_PROXY、HTTPS_PROXY 这两个变量,是不是把 http:// 给写上了,如果真的是 http://192.168.56.11:5656,那么 curl 是可以正常访问外网的,但是 docker 就不行了,docker 使用代理,必须是 192.168.56.11:5656 这种 ip:port 的格式
永久设置
方式一:如果不想每次新开一个终端拉取镜像时都设置一遍代理,那么可以将设置代理的那两行写到 /etc/bashrc
方式二:如果只想让 docker 使用代理,而不影响服务器其他应用的网络,那么可以给 docker 单独设置
2.1、创建一个目录 mkdir /etc/systemd/system/docker.service.d
2.2、新增一个文件 proxy.conf,将代理配置写进去
[Service] Environment="HTTP_PROXY=192.168.56.11:5656" Environment="HTTPS_PROXY=192.168.56.11:5656"
2.3、重启服务
sudo systemctl daemon-reload sudo systemctl restart docker
2.4、查看是否设置成功 sudo docker info,可以看到这些信息就是设置成功
..... ..... HTTP Proxy: 192.168.56.11:5656 HTTPS Proxy: 192.168.56.11:5656 ..... .....