在 Linux 上配置 Docker 代理
开发或部署时,Docker 容器镜像往往需要从海外仓库拉取,网络不佳就会卡在 docker pull。最稳妥的办法是在宿主机为 Docker Daemon 配置一个稳定的 HTTP 代理,这样所有镜像拉取都会自动走代理通道。
配置 daemon.json
sudo mkdir -p /etc/docker
sudo nano /etc/docker/daemon.json
如果文件不存在,可以先创建一个空文件再写入以下内容:
{
"proxies": {
"http-proxy": "http://<host>:<port>",
"https-proxy": "http://<host>:<port>",
"no-proxy": "localhost,127.0.0.1,::1"
}
}
http-proxy/https-proxy:指向网络中可用的代理服务。no-proxy:列出访问这些地址时不经过代理,避免本地容器互访走外网绕远。
保存后执行以下命令让配置立刻生效:
sudo systemctl daemon-reload
sudo systemctl restart docker
验证代理是否生效
运行 docker info | grep -i proxy,应能看到 HTTP/HTTPS Proxy 字段。
常见问题
- 代理变更:更新
daemon.json,重新执行上述两行 systemctl 的命令。 - 私有仓库不想走代理:把仓库域名加进
no-proxy。