在构建Docker期间使用代理

x33g5p2x  于 2023-03-01  发布在  Docker
关注(0)|答案(1)|浏览(140)

我在Linux下,当我想做一个Docker构建时遇到了一个问题。我按照Docker网站的说明添加了一个代理www.example.comhttps://docs.docker.com/config/daemon/systemd/#httphttps-proxy
我没有问题,当我做一个docker运行或docker组成的图像下载没有问题。
然而,当我执行一个Docker构建或包含构建的Docker组合时,我会得到这样的错误,例如:

停靠文件:1

1|〉〉〉从scenari/码头出发:6.1 2|用户根3|复制根. cer DCI_CA_根. cer

错误:无法求解:超过截止日期:超过截止日期:无法获取匿名令牌:获取"www.example.com":拨打tcp 34.205.13.154:443:https://auth.docker.io/token?scope=repository%3Ascenari%2Fjetty%3Apull&service=registry.docker.io": dial tcp 34.205.13.154:443: i/o timeout
显然它不支持我的代理配置。
我使用Docker Docker版本23.0.1,构建版本a5ee5b1您有解决方案吗?
谢谢

8gsdolmq

8gsdolmq1#

我们注意到最新操作系统后出现类似问题,因此Docker升级到23.0.1,构建版本a5 ee 5 b1
过去,我们在~/config.json文件或/etc/systemd/system/docker.service.d/http-proxy.conf中配置了docker的代理
仅使用此配置,我就能够成功执行docker pull eclipse-temurin:11,但无法使用包含FROM eclipse-temurin:11的Docker文件执行docker build .
由于最新的更新没有考虑这些配置,我们必须直接在shell中设置环境变量http_proxyhttps_proxy,之后它就可以完美地工作了。我已经将此配置放入/etc/profile.d/http_proxy.sh的shell脚本中,因此默认加载。

export HTTP_PROXY=http://192.168.1.2:3128
export HTTPS_PROXY=http://192.168.1.2:3128
export NO_PROXY=localhost,*.company.com

我认为这可以追溯到Docker/Buildkit的变化,

相关问题