小编Lew*_*wik的帖子

Docker:导出镜像失败:创建镜像失败:获取层失败

我收到以下错误:

无法导出图像:无法创建图像:无法获取图层 sha256:xxxxxxxxxxxxx:图层不存在

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"]
Run Code Online (Sandbox Code Playgroud)

输出

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
Run Code Online (Sandbox Code Playgroud)

第二次运行总是有帮助 - 错误消失。我正在构建多个不同的图像(不同的 jar),在不同的目录中使用不同的 Dockerfile。但是 Dockerfiles 的内容是一样的。

我认为添加后出现此错误:

COPY ./lib/entities-1.0-SNAPSHOT.jar /usr/src/app/BOOT-INF/lib/entities-1.0-SNAPSHOT.jar
Run Code Online (Sandbox Code Playgroud)

我不想删除那一行:app 和实体是我的库。如果我删除行 - 我将得到一个第三方库(50mb)与实体(2mb)合并的层。

docker dockerfile

13
推荐指数
2
解决办法
1万
查看次数

Docker:文件系统没有响应

我必须在本地机器上运行 43 个容器。

每次启动我都有警告

WARNING: Connection pool is full, discarding connection: localhost
Run Code Online (Sandbox Code Playgroud)

警告不要阻止我的工作

但有时在容器启动时,我在下面遇到多个错误

Filesystem is not responding
Filesystem mounted at /var/lib/docker/overlay/{hash}/merged is not responding
Run Code Online (Sandbox Code Playgroud)

他们中的很多人在我的 manjaro KDE 中作为通知推送这些错误阻止了我的工作,容器不工作。只有重新启动才能帮助我。

我会提供您需要的任何其他信息

文件系统是 ext4 存储驱动程序:overlay2

docker system df 
TYPE                TOTAL               ACTIVE              SIZE                RECLAIMABLE
Images              16                  10                  3.82GB              1.198GB (31%)
Containers          43                  43                  1.138MB             0B (0%)
Local Volumes       20                  10                  1.947GB             955.4MB (49%)
Build Cache         0                   0                   0B                  0B
Run Code Online (Sandbox Code Playgroud)
sudo docker network ls
NETWORK ID          NAME                DRIVER              SCOPE
3e046a2f4038        bridge              bridge              local
8aadcba2673b …
Run Code Online (Sandbox Code Playgroud)

docker

5
推荐指数
1
解决办法
813
查看次数

标签 统计

docker ×2

dockerfile ×1