【发布时间】:2018-12-09 11:34:33
【问题描述】:
我收到以下错误:
导出图片失败:创建图片失败:获取图层失败 sha256:xxxxxxxxxxxxxxx: 图层不存在
Dockerfile:
FROM openjdk:8
COPY ./lib/ /usr/src/app/BOOT-INF/lib/
COPY ./lib/entities-1.0-SNAPSHOT.jar /usr/src/app/BOOT-INF/lib/entities-1.0-SNAPSHOT.jar
COPY ./app/ /usr/src/app/
WORKDIR /usr/src
CMD ["java", "-cp", "app/", "org.springframework.boot.loader.JarLauncher"]
输出:
Step 3/6 : COPY ./lib/entities-1.0-SNAPSHOT.jar /usr/src/entities-1.0-SNAPSHOT.jar
---> 3acb1f6c911a
Step 4/6 : COPY ./app.jar /usr/src/app.jar
failed to export image: failed to create image: failed to get layer sha256:33a94c44f7804ae3f57b9e72f94323c15cef7267be7eb95d90d2a1673c4b33b9: layer does not exist
第二次运行总是有帮助 - 错误消失了。 我正在构建多个不同的图像(不同的 jar),在不同的目录中有不同的 Dockerfile。但是Dockerfiles的内容是一样的。
我认为这个错误是我添加后出现的:
COPY ./lib/entities-1.0-SNAPSHOT.jar /usr/src/app/BOOT-INF/lib/entities-1.0-SNAPSHOT.jar
我不想删除该行:应用程序和实体是我的库。如果我删除行 - 我将得到一层第三方库 (50mb) 与实体 (2mb) 合并。
【问题讨论】:
-
docker 版本?如果您查看官方 repo 中的 docker 错误,则会在此处进行描述。
-
@AlexKarshin
Docker version 18.05.0-ce, build f150324782能分享一下bug的链接吗? github.com/moby/moby/issues/36573 ?
标签: docker dockerfile