如果你需要在 Docker 中设置 HTTP 代理,可以通过设置环境变量来实现。以下是设置代理的步骤:

  1. 设置环境变量:在你的 shell 会话中设置 HTTP_PROXYHTTPS_PROXY 环境变量。例如:
1
2
   export HTTP_PROXY="http://192.168.99.188:1080"
   export HTTPS_PROXY="http://192.168.99.188:1080"

如果你还需要设置 SOCKS 代理,可以设置 ALL_PROXY 环境变量:

1
   export ALL_PROXY="socks5://192.168.99.188:1080"

配置 Docker 服务以自动使用代理设置

如果你希望 Docker 服务在启动时自动应用代理设置,你需要将相应的环境变量添加到 Docker 服务的配置文件中。以下是具体步骤:

  1. 定位 Docker 服务配置文件: 对于大多数 Linux 发行版,Docker 服务的配置文件通常位于 /lib/systemd/system/docker.service

  2. 编辑配置文件: 你可以通过两种方式编辑这个文件:

  • 使用 systemctl edit docker.service 命令。

  • 直接使用文本编辑器打开文件进行编辑。

  1. 添加环境变量: 在配置文件的 [Service] 部分,添加以下内容:
    Environment="HTTP_PROXY=aaaaaaa"
    Environment="HTTPS_PROXY=aaaaaaa"
    Environment="NO_PROXY=aaaaaaa"
    
    注意:请将 aaaaaaa 替换为你实际的代理服务器地址。 以上步骤完成后,保存文件并重新启动 Docker 服务以使更改生效。
1
2
   Environment="HTTP_PROXY=http://192.168.99.188:1080"
   Environment="HTTPS_PROXY=http://192.168.99.188:1080"

如果你需要 SOCKS 代理:

1
   Environment="ALL_PROXY=socks5://192.168.99.188:1080"
  1. 重启 Docker 服务:修改配置文件后,你需要重启 Docker 服务以使更改生效:
1
2
   sudo systemctl daemon-reload
   sudo systemctl restart docker
  1. 验证代理设置:你可以通过运行一个简单的 Docker 命令来验证代理设置是否生效,例如:
1
   docker pull hello-world

如果代理设置正确,Docker 将通过代理服务器拉取 hello-world 镜像。

请注意,如果你的代理服务器需要认证,你可能需要在代理 URL 中包含用户名和密码,例如:

1
2
export HTTP_PROXY="http://username:password@192.168.99.188:1080"
export HTTPS_PROXY="http://username:password@192.168.99.188:1080"

确保替换 usernamepassword 为你的代理服务器的认证信息。