错误:";创建aufs装载到“时出错”;在构建dockerfile时

错误:";创建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的交互中存在竞争条件,这是

我在尝试构建docker文件时遇到此错误

 error creating aufs mount to /var/lib/docker/aufs/mnt   
 /6c1b42ce1a98b1c0f2d2a7f17c196221445f1054566065d4c607e4f1b99930eb-init:   
 invalid argument

这是什么意思?如何修复它?

AUFS无法装载docker容器文件系统

这要么是因为:路径已经挂载,要么是因为docker与AUF的交互中存在竞争条件,这是由于存在大量的卷

要解决此问题,请尝试以下操作:

  • 重新启动docker服务或守护程序,然后重试

  • /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

  • 如果不起作用,停止docker,然后
    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。。。有表演