Docker proxy settings for container

如果 container 里需要 proxy 代理,可以不用在Dockerfile 添加 ENV 配置。
Refer to https://docs.docker.com/network/proxy/

f your container needs to use an HTTP, HTTPS, or FTP proxy server, you can configure it in different ways:

  • In Docker 17.07 and higher, you can configure the Docker client to pass proxy information to containers automatically.

  • In Docker 17.06 and lower, you must set appropriate environment variables within the container. You can do this when you build the image (which makes the image less portable) or when you create or run the container.

Configure the Docker client

这一种方案可移植性比较好

  1. On the Docker client, create or edit the file ~/.docker/config.json in the home directory of the user which starts containers. Add JSON such as the following, substituting the type of proxy with httpsProxy or ftpProxy if necessary, and substituting the address and port of the proxy server. You can configure multiple proxy servers at the same time.

You can optionally exclude hosts or ranges from going through the proxy server by setting a noProxy key to one or more comma-separated IP addresses or hosts. Using the * character as a wildcard is supported, as shown in this example.

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

Save the file.

  1. Restart docker service
  2. When you create or start new containers, the environment variables are set automatically within the container.
Use environment variables

Set the environment variables manually
When you build the image, or using the --env flag when you create or run the container, you can set one or more of the following variables to the appropriate value. This method makes the image less portable, so if you have Docker 17.07 or higher, you should configure the Docker client instead.

Variable	Dockerfile example	docker run Example
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"
  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值