钢铁知识库,一个学习python爬虫、数据分析的知识库。人生苦短,快用python。
在内网服务器中,docker经常需要下载拉取镜像,但由于没有网络要么只能手动导入镜像包,又或者通过http_proxy代理到其它服务器下载。
解决方法:
增加http-proxy.conf
配置文件,正确配置好代理服务器后重启docker服务即可
NO_PROXY后面接不需要代理的仓库的域名或者IP,以英文逗号结尾
mkdir -p /etc/systemd/system/docker.service.d
tee /etc/systemd/system/docker.service.d/http-proxy.conf << EOF
[Service]
Environment="HTTP_PROXY=http://10.124.130.19:123"
Environment="HTTPS_PROXY=http://10.124.130.19:123"
Environment="NO_PROXY=localhost,127.0.0.1"
EOF
## 重载并重启服务
systemctl daemon-reload && systemctl restart docker
再次执行可以看到顺序拉取到镜像。
另外:如果是containerd需要使用proxy代理,配置原理也是一样。
mkdir -p /etc/systemd/system/containerd.service.d/
tee /etc/systemd/system/containerd.service.d/http-proxy.conf <<EOF
[Service]
Environment="HTTP_PROXY=http://10.124.130.19:123"
Environment="HTTPS_PROXY=http://10.124.130.19:123"
EOF
## 重启生效
systemctl daemon-reload && systemctl restart containerd
参考链接:
https://docs.docker.com/config/daemon/systemd/