问题描述
因项目需求需要从公司的harbor仓库拉取和构建私有镜像,因此配置私有仓库地址,而目前私有仓库配置的是http协议,未配置https,导致通过执行docker build时失败,错误结果如下
failed to solve with frontend dockerfile.v0: failed to create LLB definition: failed to do request: Head "https://hub.xx-inc.cn/v2/public/jdk/manifests/8u172_font": unable to connect to 10.0.2.xxxx:443. Do you need an HTTP proxy?
复现过程
环境
-
操作系统:MacOs
-
Docker Engine: 20.10.16
-
Docker Compose: 1.29.2

私服配置

docker pull 测试成功
执行docker pull测试没问题。

docker build 失败
编写Dockerfile
FROM hub.xx-inc.cn/public/jdk:8u172_font
COPY target/*.jar /app.jar
ENTRYPOINT java -jar -Xms1024m -Xmx1024m -Denv=dev /app.jar
执行构建

解决方法
此问题是由于buildKit=true导致的,修改buildKit=false
相关问题链接:https://github.com/docker/compose/issues/8449

再次测试成功

在MacOs环境下,使用Docker 20.10.16和DockerCompose 1.29.2时,由于私有仓库使用http而非https,导致dockerbuild执行失败。错误提示为无法连接到443端口。问题根源在于buildKit设置为true。解决方案是将buildKit设置为false,参照相关问题链接进行修复后,dockerbuild成功执行。
2343

被折叠的 条评论
为什么被折叠?



