Koala

在 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