配置Docker以使用代理服务器

10 min read

配置Docker客户端

  1. 在Docker客户端上,在启动容器的用户的主目录中创建或编辑~/.docker/config.json文件。添加如下所示的JSON,如有必要,用httpsProxyftpProxy替换代理的类型,并替换代理服务器的地址和端口。您可以同时配置多个代理服务器。

    通过将noProxy密钥设置为一个或多个逗号分隔的IP地址或主机,您可以选择排除主机或范围通过代理服务器。如示例中所示,支持将*字符用作通配符。

    {
     "proxies":
     {
       "default":
       {
         "httpProxy": "http://127.0.0.1:3001",
         "httpsProxy": "http://127.0.0.1:3001",
         "noProxy": "*.test.example.com,.example2.com"
       }
     }
    }
    

    保存文件。

  2. 创建或启动新容器时,环境变量将在容器内自动设置。

手动设置环境变量使用环境变量

在生成映像时,或者在创建或运行容器时使用--env标志,可以将以下一个或多个变量设置为适当的值。此方法使映像的可移植性降低,因此,如果您具有Docker 17.07或更高版本,则应配置Docker客户端 。

变量 Dockerfile示例 docker run示例
HTTP_PROXY ENV HTTP_PROXY“ http://127.0.0.1:3001” --env HTTP_PROXY =“ http://127.0.0.1:3001”
HTTPS_PROXY ENV HTTPS_PROXY“ https://127.0.0.1:3001” --env HTTPS_PROXY =“ https://127.0.0.1:3001”
FTP_PROXY ENV FTP_PROXY“ ftp://127.0.0.1:3001” --env FTP_PROXY =“ ftp://127.0.0.1:3001”
NO_PROXY ENV NO_PROXY“ * .test.example.com,.example2.com” --env NO_PROXY =“ *。test.example.com,.example2.com”