错误:";创建aufs装载到“时出错”;在构建dockerfile时
我在尝试构建docker文件时遇到此错误错误:";创建aufs装载到“时出错”;在构建dockerfile时,docker,dockerfile,Docker,Dockerfile,我在尝试构建docker文件时遇到此错误 error creating aufs mount to /var/lib/docker/aufs/mnt /6c1b42ce1a98b1c0f2d2a7f17c196221445f1054566065d4c607e4f1b99930eb-init: invalid argument 这是什么意思?如何修复它?AUFS无法装载docker容器文件系统 这要么是因为:路径已经挂载,要么是因为docker与AUF的交互中存在竞争条件,这是
error creating aufs mount to /var/lib/docker/aufs/mnt
/6c1b42ce1a98b1c0f2d2a7f17c196221445f1054566065d4c607e4f1b99930eb-init:
invalid argument
这是什么意思?如何修复它?AUFS无法装载docker容器文件系统 这要么是因为:路径已经挂载,要么是因为docker与AUF的交互中存在竞争条件,这是由于存在大量的卷 要解决此问题,请尝试以下操作:
/var/lib/docker/aufs/
下的任何路径上,检查mount
中是否安装了AUF。如果找到,停止docker,然后umount
它们(需要sudo)
例如:mount
none on/var/lib/docker/aufs/mnt/55639da9aa959e88765899ac9dc200ccdf363b2f09ea933370cf4f96051b22b9型aufs(rw,relatime,si=5abf628bd5735419,dio,dirperm1)
然后
sudo umount/var/lib/docker/aufs/mnt/55639da9aa959e88765899ac9dc200ccdf363b2f09ea933370cf4f96051b22b9
sudorm-rf/var/lib/docker/aufs
。您将丢失所有已停止的现有容器和所有图像。但这几乎可以保证解决问题在删除
/var/lib/docker/aufs
之后,我遇到了一些未解决的错误,这需要额外的几个步骤才能解决
再加上@benwalther,因为我缺乏评论的声誉:
# Cleaning up through docker avoids these errors
# ERROR: Service 'master' failed to build:
# open /var/lib/docker/aufs/layers/<container_id>: no such file or directory
# ERROR: Service 'master' failed to build: failed to register layer:
# open /var/lib/docker/aufs/layers/<container_id>: no such file or directory
docker rm -f $(docker ps -a -q)
docker rmi -f $(docker images -a -q)
# As per @BenWalther's answer above
sudo service docker stop
sudo rm -rf /var/lib/docker/aufs
# Removing the linkgraph.db fixed this error:
# Conflict. The name "/jenkins_data_1" is already in use by container <container_id>.
# You have to remove (or rename) that container to be able to reuse that name.
sudo rm -f /var/lib/docker/linkgraph.db
sudo service docker start
#通过docker进行清理可以避免这些错误
#错误:无法生成服务“主控”:
#open/var/lib/docker/aufs/layers/:没有这样的文件或目录
#错误:无法生成服务“主服务器”:无法注册层:
#open/var/lib/docker/aufs/layers/:没有这样的文件或目录
docker rm-f$(docker ps-a-q)
docker rmi-f$(docker images-a-q)
#根据上面@BenWalther的回答
sudo服务码头站
sudo rm-rf/var/lib/docker/aufs
#删除linkgraph.db修复了此错误:
#冲突。容器已在使用名称“/jenkins\u data\u 1”。
#您必须删除(或重命名)该容器才能重用该名称。
sudorm-f/var/lib/docker/linkgraph.db
sudo服务docker启动
不幸的是,在我的系统上,我无法用上述答案解决这个问题。docker管理层一直在记住aufs层中的某个文件,该文件无法再访问。其他解决方案也不起作用。因此,如果这是您的一个选项,您可以尝试以下修复:卸载/清除docker
和docker引擎
:
apt-get purge docker docker-engine
然后确保删除了/var/lib/docker
中的所有内容
rm -rf /var/lib/docker
然后再次安装docker。我已经删除了
/var/lib/docker/aufs/diff
,并遇到了相同的问题:
创建aufs装载到/var/lib/docker/aufs/mnt/blah blah init时出错:参数无效
通过运行以下命令解决此问题:
docker stop $(docker ps -a -q);
docker rm $(docker ps -a -q);
docker rmi -f $(docker images -a -q)
docker-machine stop
docker-machine start
docker-compose up
在windows中重新启动后,docker机器的问题为我解决了 使用以下命令:
docker stop $(docker ps -a -q);
docker rm $(docker ps -a -q);
docker rmi -f $(docker images -a -q)
docker-machine stop
docker-machine start
docker-compose up
在Windows中使用Docker时,出现了类似的问题:
ERROR: Service 'daemon' failed to build: error creating overlay mount
to /var/lib/docker/overlay2/83c98f716020954420e8b89e6074b1af6
1b2b86cd51ac6a54724ed263b3663a2-init/merged: no such file or directory
从映像的Dockerfile
中删除卷,重建映像,然后重新启动电脑后出现问题。这可能是常见原因吗
我通过单击Docker
->设置->重置->重置为出厂默认值…
我所有的照片后来都丢失了,但这对我来说并不重要。我还认为删除虚拟机磁盘映像(路径可以在设置中的高级
选项卡下找到)可以解决这个问题。不过,我还没有尝试过这种方法。我只是在Lubuntu(Ubuntu 4.15.0-20-generic)上遇到了与Docker CE 18.03类似的问题。所描述的选项都没有帮助
最新的docker版本似乎使用Overly2存储驱动程序。然而,一些应用程序需要AUF。因此,一个可能的修复方法可能是简单地使用本docker指南将存储驱动程序更改为aufs(简单地将“overlay2”替换为“aufs”),因为如果您尝试在持久启用Live CD中使用docker,可能会遇到此错误。我猜,这是因为你不能在overlayfs挂载中挂载AUF,这是一个持久层
解决方案只是使用不同的驱动程序。我在/etc/docker/daemon.json中使用了vfs
给你
{
“存储驱动程序”:“vfs”
}
我把这个答案也放在这里,因为@whitebrow的答案包含了我在谷歌搜索到的词,所以谷歌搜索把我带到了这里
错误:无法生成服务“***”:创建覆盖装载时出错
to/var/lib/docker/overlay2/***/merged:没有这样的文件或目录
在我的例子中,解决办法是限制“运行”docker building命令/层的数量,因为如果数量超过60层/命令,无论命令的内容是什么,最终都会出现缺少“合并”文件夹的错误,奇怪的是,即使是像runls-la
这样的简单命令,如果此类/任何命令的总数超过60个,也会出现该错误<代码>合并的
子文件夹始终缺失,尽管即使我自动生成了所有合并的子文件夹,也总是会动态创建一个新的层,其中包含一个新的散列,该散列缺少该子文件夹。我遇到了同样的问题。我通过将存储驱动程序添加到/etc/docker/daemon.json中解决了这个问题
您也可以参考此链接查看其他驱动程序选项。
访问我正在使用Raspbian和Raspberry 4
最好的办法
使用以下工具检查docker版本:
sudo docker info
并选中“存储驱动程序”
sudo systemctl stop docker
sudo nano/etc/docker/daemon.json
在下面编写此代码并保存它
sudo systemctl启动docker
奥图vfs。。。有表演