通过 ~/.docker/config.json 全局配置(推荐)

  1. 编辑用户目录下的 Docker 配置文件:

    1
    vi ~/.docker/config.json
  2. 添加代理配置:

    1
    2
    3
    4
    5
    6
    7
    8
    9
    {
    "proxies": {
    "default": {
    "httpProxy": "http://代理IP:端口",
    "httpsProxy": "https://代理IP:端口",
    "noProxy": "localhost,127.0.0.1"
    }
    }
    }

    该配置会对所有新启动的容器生效(无需重启 Docker)。

3. 为 Docker Compose 设置代理

docker-compose.yml 中通过 environment 字段指定代理:

1
2
3
4
5
6
7
8
version: '3'
services:
app:
image: 镜像名
environment:
- http_proxy=http://代理IP:端口
- https_proxy=https://代理IP:端口
- no_proxy=localhost,127.0.0.1

注意事项:

  • 代理地址格式:若代理需要认证,格式为 http://用户名:密码@代理IP:端口
  • 本地代理:若代理运行在宿主机,Linux 下可用 host.docker.internal 访问宿主机 IP(Docker 18.03+ 支持)。
  • 验证配置:通过 docker info 查看守护进程代理是否生效,或在容器内执行 echo $http_proxy 检查容器代理。