[Docker] ERROR: Failed to create docker image: Could not build image: unknown parent image ID sha256:cc0b3bd844b13a2ebfc6915019a8194538f2d0b41e420b76a20702e985e2a298
ERROR: Build step failed with exception
com.github.dockerjava.api.exception.DockerClientException: Could not build image: unknown parent image ID sha256:cc0b3bd844b13a2ebfc6915019a8194538f2d0b41e420b76a20702e985e2a298
6条答案
按热度按时间ua4mk5z41#
这通常发生在你同时清理docker内存时(或者有人同时删除了/var/lib/docker/image/overlay 2/imagedb/content的内容或运行docker system prune),所以你正在构建的镜像无法找到镜像数据所在的父文件夹。确保这不会同时发生,并重新启动构建。
pes8fvy92#
如果你有一个名为
none
的镜像,那么你需要删除它并重建你的容器。这就是为我解决的问题。hgncfbus3#
我在构建Docker镜像时也有同样的担忧。我得到的错误消息如下:
字符串
对我起作用的只是试图再次重建图像,效果很好。
就这些了
希望这能帮上忙
yebdmbv44#
在build命令行中使用**--no-cache**标记。
字符串
vd2z7a6w5#
这 * 可以 * 是
docker
进程之间具有共享磁盘的各种机器上的薄片,例如Buildkite示例简单地重新启动构建对我来说是有效的。ubby3x7f6#
为了防止这种情况发生,执行所有docker“cleanup”操作(使用
docker system prune
和docker rmi
)时,必须确保没有构建管道(使用docker build
)可以与清理过程同时运行。假设你的清理操作也是用Jenkins自动化的,你可以**尝试让清理和构建管道不重叠。
一个(不完美的)解决方案是Priority Sorter Plugin,使用它可以:
runExclusive: true
互斥。它是不完美的,因为它不影响追溯运行管道。
这个问题是由Docker构建缓存未命中引起的,这是事先无法预测的(当失败的构建开始时),因为相关层在(长时间运行的)构建的后期阶段从构建缓存中消失,被其他一些笨拙的“清理”过程删除。
要验证这是原因,请检查Jenkins docker插件在其错误消息中显示的摘要确实从本Map像缓存中丢失:
字符串