Docker /var/lib/docker/overlay2/<id>/merged: 没有这个文件或目录。

8

我遇到了以下错误,但是没有找到任何解决方法。

#9 [builder 3/5] COPY . /app
#9 sha256:deb3e9c3d0d018c2253369e84f48bc653a4796eebadd10de1a2bb60b4954e239
#9 ERROR: error creating overlay mount to /var/lib/docker/overlay2/93eywfuy5gffv03b5zcpgetvq/merged: no such file or directory
------
 > [builder 3/5] COPY . /app:
------
error creating overlay mount to /var/lib/docker/overlay2/93eywfuy5gffv03b5zcpgetvq/merged: no such file or directory

尝试使用以下docker命令清理图像和容器,但没有帮助:

docker system prune -af
docker builder prune
docker rm $(docker ps -a -q)
docker rmi $(docker images -a -q)

# Tried to pull images without caches also failed
docker build --pull --no-cache -t "my-app" .

系统详情:macOS Monterey


可能是重复问题:https://dev59.com/XL7pa4cB1Zd3GeqP9_lq - BMitch
3个回答

6
解决方法是编辑 /etc/docker/daemon.json 文件并添加以下内容:
{ "storage-driver": "devicemapper" }
 

重新加载systemctl守护程序:
systemctl daemon-reload

并重新启动 Docker 服务:

systemctl restart docker

它在macOS上 :) - veysiertekin
我已经更新了细节。 - veysiertekin
在Kubuntu上工作 - flomaster

5

解决方法如下:

  • 关闭 Docker
  • 手动删除容器
rm -rf ~/Library/Containers/com.docker.docker
  • 启动Docker,它将神奇地工作!

在Ubuntu服务器上找不到此位置 - undefined
请参照其他评论来适用于MacOS机器的指南,对于Kubuntu等操作系统,请参考上述内容。 - undefined

3
这种情况可以通过清理docker未使用的容器来解决。
运行以下命令以清除:
docker system prune -a
完成后 :: 重新启动docker。

唯一对我有效的方法。谢谢!我认为是因为在我的计算机存储空间不足时,我手动删除了Docker目录中的大文件,导致了原始问题的发生。 - Evandro Coan

网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接