配置Docker守护进程代理设置 | AI生成和翻译

Home 2025.10

配置 Docker 守护进程的代理设置

可以通过配置 Docker 守护进程使用 HTTP/HTTPS 代理,使在企业防火墙后执行拉取镜像或构建容器等操作成为可能。这需要通过编辑(或创建)/etc/docker/daemon.json 文件来实现。请注意,此配置适用于守护进程本身(例如用于 docker pulldocker build),而不适用于单个容器(容器将使用环境变量或 Docker 构建参数)。

前提条件

分步配置

  1. 定位或创建守护进程配置文件
    • 打开终端并导航至 /etc/docker/(如果目录不存在,则创建它:sudo mkdir -p /etc/docker)。
    • 使用文本编辑器编辑 daemon.json 文件(例如 sudo nano /etc/docker/daemon.jsonsudo vim /etc/docker/daemon.json)。
    • 如果文件不存在,请创建它。如果是新文件,从一个空的 JSON 对象 {} 开始。
  2. 添加代理配置
    • 向 JSON 文件添加一个 "proxies" 部分。以下是一个基本示例:

      {
        "proxies": {
          "http-proxy": "http://proxy.company.com:8080",
          "https-proxy": "http://proxy.company.com:8080",
          "no-proxy": "localhost,127.0.0.1,*.company.com,10.0.0.0/8"
        }
      }
      
      • 说明
        • "http-proxy":HTTP 代理的 URL(用于非 HTTPS 请求)。
        • "https-proxy":HTTPS 代理的 URL(通常与 HTTP 代理相同)。
        • "no-proxy":应绕过代理的主机/域/IP 范围列表,以逗号分隔(例如,本地地址或内部域)。这可以防止无限循环。
        • 如果需要身份验证,请使用格式 http://username:password@proxy.company.com:8080
        • 对于 SOCKS 代理,请使用 "http-proxy": "socks5://proxy.company.com:1080"
      • 如果 daemon.json 已有现有内容(例如其他设置,如 "log-driver": "json-file"),请将 "proxies" 部分合并到其中,不要重复键。确保 JSON 语法有效(如果需要,使用 jsonlint 等工具进行验证)。
  3. 保存并重启 Docker 守护进程
    • 保存文件。
    • 重启 Docker 服务以应用更改:
      sudo systemctl restart docker
      
      • 在旧系统或非 systemd 系统上,使用 sudo service docker restart
    • 验证守护进程是否正在运行:
      sudo systemctl status docker
      
      • 如果有问题,请检查日志:sudo journalctl -u docker.service
  4. 验证配置
    • 通过拉取镜像进行测试(现在应通过您的代理路由):
      docker pull hello-world
      
    • 通过检查守护进程配置来确认代理设置是否已应用:
      docker info | grep -i proxy
      
      • 您应该看到类似以下的输出:
        HTTP Proxy: http://proxy.company.com:8080
        HTTPS Proxy: http://proxy.company.com:8080
        No Proxy: localhost,127.0.0.1,*.company.com,10.0.0.0/8
        
    • 如果您在构建上下文中使用 Docker,请使用以下命令进行测试:
      docker build -t test-proxy .
      

      (假设使用一个拉取基础镜像的简单 Dockerfile。)

补充说明

有关更多详细信息,请参阅官方 Docker 文档:配置 Docker 守护进程。如果您遇到错误,请分享确切的输出以进行故障排除!


Back

x-ai/grok-4-fast

Donate