目 录CONTENT

文章目录

Docker 设置代理

JW
JW
2025-12-14 / 0 评论 / 0 点赞 / 4 阅读 / 0 字 / 正在检测是否收录...

配置 HTTP/HTTPS 网络代理 (Docker 高级网络配置)

在使用 Docker 的过程中,如果遇到网络限制,通常需要通过配置 HTTP/HTTPS 代理来加速镜像拉取、构建和容器内的访问。配置主要分为以下三种场景:

1. 为 dockerd (Docker 守护进程) 设置网络代理

此配置适用于 docker pull 等由 dockerd 守护进程执行的命令。由于 dockerd 通常由 systemd 管理,因此需要通过 systemd 配置。

步骤:

  1. 创建 dockerd 的配置文件夹:

    sudo mkdir -p /etc/systemd/system/docker.service.d
    
  2. 创建 HTTP/HTTPS 网络代理的配置文件 /etc/systemd/system/docker.service.d/http-proxy.conf,并添加相关环境变量。

    [Service]
    Environment="HTTP_PROXY=[http://proxy.example.com:8080/](http://proxy.example.com:8080/)"
    Environment="HTTPS_PROXY=[http://proxy.example.com:8080/](http://proxy.example.com:8080/)"
    Environment="NO_PROXY=localhost,127.0.0.1,.example.com"
    
  3. 刷新 systemd 配置并重启 Docker 服务:

    sudo systemctl daemon-reload
    sudo systemctl restart docker
    

2. 为 Docker 容器设置网络代理

此配置适用于容器运行阶段,使容器内部的应用可以通过代理访问外部网络。可以通过两种方式实现:

方式一:更改 Docker 客户端配置 (全局设置)

创建或更改 ~/.docker/config.json 文件,并添加 proxies 配置:

{
    "proxies": {
        "default": {
            "httpProxy": "[http://proxy.example.com:8080/](http://proxy.example.com:8080/)",
            "httpsProxy": "[http://proxy.example.com:8080/](http://proxy.example.com:8080/)",
            "noProxy": "localhost,127.0.0.1,.example.com"
        }
    }
}

0

评论区