内容目录
环境
系统: ubuntu 20.04
docker: 28.1.1
🛠️ docker代理正确创建步骤如下:
sudo mkdir -p /etc/systemd/system/docker.service.d
然后创建并编辑代理配置文件:
优点: /etc/systemd/system/docker.service.d/proxy.conf 中配置的代理仅作用于 Docker 服务本身,不会影响系统中其他服务或程序,比配置全局代理影响其他服务好.
sudo vim /etc/systemd/system/docker.service.d/proxy.conf
📄 内容示例(请根据你的代理地址修改端口):
[Service]
Environment="HTTP_PROXY=http://127.0.0.1:7890"
Environment="HTTPS_PROXY=http://127.0.0.1:7890"
Environment="NO_PROXY=localhost,127.0.0.1,*.example.com,172.0.0.0/8,192.0.0.0/8"
-
会影响:
- 镜像拉取
docker pull
- 镜像推送
docker push
- 连接 registry(如 Docker Hub、Harbor 等)
- 构建镜像时
FROM
拉基础镜像阶段(但不影响容器里 apt)
- 镜像拉取
正常来讲不影响启动后的容器服务,但是有次不加不代理,群晖内网服务访问异常,所以加了172.0.0.0/8,192.0.0.0/8,加强兼容.
配置不代理 172.0.0.0/8 容器IP段,防止容器之间走代理互相访问不到
配置不代理 192.0.0.0/8 内网IP段,防止容器访问内网服务走代理访问不到
参考资料 https://docs.docker.com/engine/cli/proxy/
🔄 然后执行以下命令重新加载并重启 Docker:
sudo systemctl daemon-reexec
sudo systemctl daemon-reload
sudo systemctl restart docker
✅ 验证生效:
docker info | grep -i proxy
如果你看到类似以下内容,说明生效了:
HTTP Proxy: http://127.0.0.1:7890
HTTPS Proxy: http://127.0.0.1:7890
NO Proxy: localhost,127.0.0.1,...