互联网技术 / 互联网资讯 · 2024年3月13日

通过代理配置 Docker 客户端与容器

如果容器需要通过 HTTP、HTTPS 或 FTP 代理连接外部资源,可以通过多种方式进行设置:

在 Docker 17.07 及更高版本,客户端可以自动将代理信息传递给容器。

在 Docker 17.06 及更早版本,必须在容器内配置合适的环境变量。可以在构建镜像时设置(会降低镜像的可移植性),也可以在创建或运行容器时设置。

云计算核心技术Docker教程:配置 Docker 以使用代理服务器

配置 Docker 客户端

1. 在 Docker 客户端上,~/.docker/config.json 文件应位于启动容器的用户主目录中,创建或编辑该文件。添加类似如下示例的 JSON。若需要,请将代理类型替换为 httpProxy、httpsProxy 或 FTPProxy,并将代理服务器的地址和端口替换为实际值。也可以同时配置多个代理。

您还可以通过将 noProxy 键设置为一个或多个以逗号分隔的 IP 地址或主机名来排除某些主机通过代理。支持使用 * 作为主机名通配符,并对 IP 地址使用 CIDR 表示法。

{

   “proxies”:

   {

      “default”:

      {

       “httpProxy”: “http://192.168.1.12:3128”,

       “httpsProxy”: “http://192.168.1.12:3128”,

       “noProxy”: “*.test.example.com,.example2.com,127.0.0.0/8”

     }

   }

}

保存文件。

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