注意,此文章说的是docker在 pull拉取镜像时 使用代理,并不是在容器内部的网络请求使用代理。若要配置容器内部网络使用代理,别看这个。
网上找到了 2种方法,我只试了第一种,成功了。
1. 创建 dockerd 相关的 systemd 目录,并添加代理配置文件
1.1 配置文件
#创建一下目录和文件
mkdir /etc/systemd/system/docker.service.d/
vim /etc/systemd/system/docker.service.d/http-proxy.conf
#添加一下内容
[Service]
Environment="HTTP_PROXY=http://192.168.2.199:8118"
Environment="HTTPS_PROXY=http://192.168.2.199:8118"
# 下面是不走代理的时候,可以不加。有私有仓库时,可以用来加私有仓库
# Environment="NO_PROXY=localhost,127.0.0.1"
1.2 重启docker
systemctl daemon-reload
systemctl restart docker
1.3 检查代理
# 可以看到刚才配置的代理
docker info | grep -i proxy
这样pull时就走代理了。
2. 在daemon.json
文件中添加
daemon.json
文件经常用来配置docker镜像加速源的,另外也放有日志分割处理的配置(如果配置了)。
这个用着也挺好,感觉比第一个简单。
2.1 配置
在/etc/docker/daemon.json
中增加代理配置:
{
"registry-mirrors": ["https://hub-mirror.c.163.com"],
"proxies": {
"http-proxy": "http://192.168.2.199:8118",
"https-proxy": "http://192.168.2.199:8118",
"no-proxy": "localhost"
}
}
2.2 检查
- 重启docker:
systemctl restart docker
- 检查配置是否生效:
docker info| grep Proxy
proxy
网友评论