我在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您有解决方案吗?
谢谢
1条答案
按热度按时间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_proxy
和https_proxy
,之后它就可以完美地工作了。我已经将此配置放入/etc/profile.d/http_proxy.sh
的shell脚本中,因此默认加载。我认为这可以追溯到Docker/Buildkit的变化,