【问题解决】docker版本v23.0后,构建Dockerfile中FROM私库镜像报错构建失败
问题情况
Docker版本在v23.0以后,只要Dockerfile中FROM的私库镜像不存在本地,就会报错:
# 我本地是v24.0.2版本Docker
[root@localhost ipd]# docker build . -t harbor.xxx.com.cn/test/bap:2.7.1
[+] Building 0.6s (3/3) FINISHED docker:default
=> [internal] load build definition from Dockerfile 0.2s
=> => transferring dockerfile: 1.05kB 0.0s
=> [internal] load .dockerignore 0.2s
=> => transferring context: 2B 0.0s
=> ERROR [internal] load metadata for harbor.xxx.com.cn/xxx/tomcat:8.5.90-jdk8-temurin 0.0s
------
> [internal] load metadata for harbor.xxx.com.cn/xxx/tomcat:8.5.90-jdk8-temurin:
------
Dockerfile:2
--------------------
1 | #指定基础镜像
2 | >>> FROM harbor.xxx.com.cn/xxx/tomcat:8.5.90-jdk8-temurin
3 | #指定环境变量,时区
4 | ENV TZ=Asia/Shanghai
--------------------
ERROR: failed to solve: harbor.xxx.com.cn/xxx/tomcat:8.5.90-jdk8-temurin: failed to do request: Head "https://harbor.xxx.com.cn/v2/xxx/tomcat/manifests/8.5.90-jdk8-temurin": tls: failed to verify certificate: x509: certificate signed by unknown authority
但我已经在 /etc/docker/daemon.json 中正确配置了 insecure-registries了,即能 pull 也能 push。
问题原因
Docker在v23.0版本及以后,使用了build-kit代替了旧的实现,目前build-kit对insecure-registries配置可能没做兼容,构建Dockerfile FROM镜像时未判断是私库,导致报错。
处理方式
目前(2023.07.21)办法就一个,在 ~/.bashrc 或 /etc/profile 添加一行 export DOCKER_BUILDKIT=0,然后 source 一个修改的配置文件。
命令示例:
echo "export DOCKER_BUILDKIT=0" >> ~/.bashrc
source ~/.bashrc
后边如果有新的处理办法或者哪个版本解决这个问题,再来更贴。
本文引用:
- https://github.com/docker/cli/blob/master/docs/deprecated.md#legacy-builder-fallback
- https://github.com/docker/buildx/issues/1642
- https://github.com/docker/buildx/issues/1687
- https://github.com/docker/docs/pull/17746
- https://github.com/moby/buildkit/pull/3382
【问题解决】docker版本v23.0后,构建Dockerfile中FROM私库镜像报错构建失败的更多相关文章
- ORACLE数据导入导出后新数据库中某些表添加操作报错[ORA-12899]
由于项目需要,我在搭建了新的开发环境后,需要将之前环境中的ORACLE数据库导出,再导入到新的开发环境下.当导出导入完成后,使用数据库进行添加操作时 发现针对很多表的添加操作报错,具体报错原因描述为: ...
- docker拉取镜像报错:net/http: TLS handshake timeout.
docker拉取镜像报错:net/http: TLS handshake timeout. 启动一个后台的busybox容器 [yunva@node1 network-scripts]$ docker ...
- docker启动镜像报错
docker启动镜像报错: docker: Error response from daemon: driver failed programming external connectivity on ...
- Android程序能够构建和运行,但是报以下报错,为什么?
安卓程序写完之后能够构建和运行,但是会报以下的错误.不知道原因为何?求大神解答. 网上说的是混淆编译的原因,不过程序没有开启混淆编译. Error:warning: Ignoring InnerCla ...
- 【Docker】涨姿势,深入了解Dockerfile 中的 COPY 与 ADD 命令
参考资料:https://www.cnblogs.com/sparkdev/p/9573248.html Dockerfile 中提供了两个非常相似的命令 COPY 和 ADD,本文尝试解释这两个命令 ...
- nexus3.14.0版本linux环境安装、启动、搭建私库
本文介绍的是nexus3.14.0版本在linux环境下安装.启动.搭建私库. nexus3以上的版本太新了,网上很少介绍安装细节的.据了解和2.X版本有所不同了. 1.前提 linux机器上需先安装 ...
- k8s 传参给docker env command、args和dockerfile中的entrypoint、cmd之间的关系
[k8s]args指令案例-彻底理解docker entrypoint 需求: 搞个镜像,可以运行java -jar xxx.jar包,xxx.jar包名称要用参数传 思路1: 打对应运行ja ...
- docker 1.12.3版本搭建私有仓库,上传镜像报错:server gave HTTP response to HTTPS client”
系统环境:centos7 docker版本: 1.12.3(注意版本,可能存在不同版本设置不同的情况) docker registry版本:2.4.1 问题: 成功安装docker registry, ...
- Docker 导入镜像报错:open /var/lib/docker/tmp/docker-import-743441288/redis-3.0.7/json: no such file or directory
下载好了redis的tar包,然后导入redis镜像是报错open /var/lib/docker/tmp/docker-import-743441288/redis-3.0.7/json: no s ...
- docker运行镜像报错:"write init-p: broken pipe"
docker: Error response from daemon: OCI runtime create failed: container_linux.go:344: starting cont ...
随机推荐
- flume组件以及通过命令监控大数据平台转态
实验一.Flume 组件安装配置 1.下载和解压 Flume 可 以 从 官 网 下 载 Flume 组 件 安 装 包 , 下 载 地 址 如 下 URL 链 接 所 示 https://archi ...
- [双目视差] 立体匹配-SGBM半全局立体匹配算法
立体匹配-SGBM半全局立体匹配算法 一.SGBM算法实现过程 1.预处理 预处理目的是得到图像的梯度信息 Step1:SGBM采用水平Sobel算子,对图像做处理,公式为: Sobel(x,y)=2 ...
- Centos7.x 安装配置jdk与jmeter
一.准备 1.jmeter(下载地址:https://jmeter.apache.org/download_jmeter.cgi) 2.jdk(下载地址:https://www.oracle.com/ ...
- c语言中的链接属性和存储类型
链接属性 external属性: 不在代码块中的函数和变量在缺省情况下都属于external链接属性. 具有external属性的变量或者函数在其他源文件中无论被包含多少次,都指向同一个实体. #a. ...
- 【Python基础】推导式(列表、字典、集合)
推导式是一种简洁.高效的语法,用于从一个可迭代对象中生成新的可迭代(iterable)对象. 通常情况下,在以下情况可以考虑使用推导式: 只需要简单的表达式来计算新的可迭代对象的元素. 可迭代对象不是 ...
- Linux 内存管理 pt.3
哈喽大家好,我是咸鱼 在<Linux 内存管理 pt.2>中我们学习了多级页表和大页,我们知道了由于历史遗留的问题,Linux 的页通常为 4KB 这样就会导致一个页表里面会有特别多页,为 ...
- XTU OJ 程设训练 1407 Alice and Bob
题目描述 Alice和Bob打球,已知他们打过的每一回合的输赢情况,每个回合获胜的一方可以得一分. Alice可以随意设定赢得一局比赛所需的分数和赢得整个比赛所需要的局数. Alice想赢得比赛,请问 ...
- WPF 自定义控件 二次渲染 问题记录
问题 将多个自定义控件加载到到一个页面的Grid上显示.然后突然将一个控件从Grid里面清除,控件依然在后台处理数据. 过段时间再加入Grid.然后一些已经改变的页面属性就消失了. 原因 经过查找是一 ...
- java开发学习框架
Java基础 1.1. Java简介与安装 1.2. Java基本语法 1.3. 数据类型与变量 1.4. 运算符与表达式 1.5. 流程控制(分支与循环) 1.6. 数组 面向对象编程 2.1. 类 ...
- 基于渗透的python
Python for Pentesters 还记得开始学习编程的C,虽然淡忘,但思想仍在. 子域名枚举 request库 import pyfiglet import requests import ...