我想使用docker build代理。我检查了这样的解决方案:
sudo docker build -t Cron/ubuntu \
--build-arg http_proxy="http://myproxy.example.com:8080" \
--build-arg https_proxy="https://myproxy.example.com:8080" \
但在我的情况下,代理ip不是互联网地址,而是来自主机系统的一些ip,如:0.0.0.0:8118
。
我认为当我使用--buid-arg
构建映像,并且dockerfile运行到apt-get
之类的东西时,容器将尝试使用docker系统中的0.0.0.0:8118
而不是主机系统。由于我没有像主机系统那样为docker系统配置ip,因此代理将无效。
所以我的问题是,如何从主机系统运行docker build
代理?有没有办法将ip从主机映射到docker容器?
答案 0 :(得分:1)
在〜/ .docker / config.json文件中创建一个文件,如下所示:
{
"proxies":{
"httpProxy":"http://proxy_url:proxy_port",
"httpsProxy":"https://proxy_url:proxy_port",
"ftpProxy":"ftp://proxy_url:proxy_port"
}
}
然后像这样调用docker:
sudo docker build -t Cron/ubuntu --build-arg http_proxy --build-arg https_proxy --build-arg ftp_proxy
此功能在此PR中实现: https://github.com/moby/moby/pull/32966
任何使这个用户体验变得更好的想法请在这里做出贡献: https://github.com/moby/moby/issues/30323