【问题标题】:docker error initializing graphdriver: driver not supporteddocker错误初始化graphdriver:不支持驱动程序
【发布时间】:2018-08-12 11:14:55
【问题描述】:

我在 CentOS 7 VM 中执行旧版本的 docker 时遇到问题。我安装了 docker Docker version 17.09.1-ce 因为它是我需要的版本,我需要在它上面运行一些软件,而最新版本 Docker version 17.12.1-ce 与它不兼容,所以我需要安装旧版本。

但是,我按照docker 中的说明安装了 docker,看起来效果不错,但是当我运行 hello world 映像时,我得到了:

docker: Cannot connect to the Docker daemon at unix:///var/run/docker.sock. Is the docker daemon running?.

所以,我做到了:

dockerd -H tcp://0.0.0.0:2375 -H unix:///var/run/docker.sock

然后我得到这个错误:

WARN[2018-03-04T19:32:51.374105228Z] [!] DON'T BIND ON ANY IP ADDRESS WITHOUT setting --tlsverify IF YOU DON'T KNOW WHAT YOU'RE DOING [!] 
INFO[2018-03-04T19:32:51.404324386Z] libcontainerd: new containerd process, pid: 14728 
WARN[0000] containerd: low RLIMIT_NOFILE changing to max  current=1024 max=4096
ERRO[2018-03-04T19:32:52.452025257Z] [graphdriver] prior storage driver overlay2 failed: driver not supported 
Error starting daemon: error initializing graphdriver: driver not supported

那是什么?我应该怎么做才能执行 docker 守护进程但仍然使用我安装的 docker 版本?

【问题讨论】:

  • 请问您是如何解决这个问题的?谢谢

标签: docker centos


【解决方案1】:

这可能不算作一个答案,因为它是一个小众的东西,可能只有我经历过这个,但是:

对我来说,问题是我在单个 LXC 容器中创建了一个命名管道(使用 mkfifo)。由于某种原因,这阻止了所有其他容器(及其 docker 实例)能够加载存储驱动程序。

一旦我删除了管道,docker 实例又好了。

【讨论】:

    【解决方案2】:

    我在输入dockerd 时遇到了同样的问题,它显示的错误为

    INFO[2019-12-03T01:39:44.030124494-05:00] Error while creating filesystem xfs on device docker-253:1-3117512-base: exit status 1  storage-driver=devicemapper
    ERRO[2019-12-03T01:39:44.030161517-05:00] [graphdriver] prior storage driver devicemapper failed: exit status 1 
    failed to start daemon: error initializing graphdriver: exit status 1
    

    我使用dockerd --storage-opt dm.fs=ext4将存储选项更改为ext4,docker启动成功。

    如需更多存储选项,请使用man dockerd

    【讨论】:

      【解决方案3】:

      在尝试将 docker-machine 与 CentOS VM 一起使用时,我遇到了类似的问题。结果 docker-machine 将一个名为 10-machine.conf 的文件复制到:

      /etc/systemd/system/docker.service.d/10-machine.conf
      

      在这个文件中,dockerd 被传递--storage-driver=overlay2。当我删除此选项时,docker 将毫无问题地启动。

      为了进行半永久性修复,我创建了一个新文件:

      /etc/systemd/system/docker.service.d/20-machine.conf
      

      我删除了 --storage-driver=overlay2 选项。然后 Docker-machine 会正确地创建环境。

      奇怪的是,如果我运行 docker info,我的 docker 引擎确实在使用 overlay2。

      【讨论】:

        猜你喜欢
        • 1970-01-01
        • 2021-01-19
        • 1970-01-01
        • 2015-09-02
        • 2018-06-24
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 2016-06-30
        相关资源
        最近更新 更多