Docker Proxy
关于 Docker 使用代理
Docker 并不会接受来自环境变量的网络代理参数,如:
https_proxy=http://proxy.example.com:3129
HTTPS_PROXY=http://proxy.example.com:3129
http_proxy=http://proxy.example.com:3128
HTTP_PROXY=http://proxy.example.com:3128
也不会接受来自 dll 注入所引入的代理设置,如:
proxychains docker -H=***** version
所以必须手动根据需求,在对应的配置文件中设置网络代理
Docker 核心具有两套网络代理机制,分别是:
- Docker 客户端代理(Docker CLient Proxy)
- Docker 守护进程代理(Docker Daemon Proxy)
这两套代理分别控制不同的 Docker 行为,如:
- Docker 客户端代理,将会影响 Docker 构建代理期间的行为,如:
Docker builddocker-compose up时,使用了build : ***参数
- Docker 守护进程代理,将会影响 Docker 拉取镜像等行为
Docker 客户端代理
在当前用户的 ~/.docker/config.json 添加以下内容:
{
"proxies":
{
"default":
{
"httpProxy": "http://proxy.server:port",
"httpsProxy": "http://proxy.server:port",
"noProxy": "localhost,127.0.0.1"
}
}
}
即可在进行镜像构建的时候,通过网络代理进行镜像的构建
涉及的可能的网络行为可能会由以下命令形成:
RUN apt-get updateRUN apt-get install -y python3RUN wget http://example.com/example