【问题标题】:After installing docker on centos7,Failed to start docker."Job for docker.service failed."在centos7上安装docker后,启动docker失败。“Job for docker.service failed.”
【发布时间】:2015-05-17 11:45:30
【问题描述】:

centos7上执行yum install docker后,我想通过执行service docker start来启动docker,然后我可以看到错误:

重定向到 /bin/systemctl start docker.service docker.service 的作业失败。有关详细信息,请参阅“systemctl status docker.service”和“journalctl -xn”。

然后我执行systemctl status docker.service -l,那么错误是:

docker.service - Docker Application Container Engine
   Loaded: loaded (/usr/lib/systemd/system/docker.service; disabled)
   Active: failed (Result: exit-code) since Sun 2015-03-15 03:49:49 EDT; 12min ago
     Docs: http://docs.docker.com
  Process: 11444 ExecStart=/usr/bin/docker -d $OPTIONS $DOCKER_STORAGE_OPTIONS (code=exited, status=1/FAILURE)
 Main PID: 11444 (code=exited, status=1/FAILURE)
Mar 15 03:49:48 localhost.localdomain docker[11444]: 2015/03/15 03:49:48 docker daemon: 1.3.2 39fa2fa/1.3.2; execdriver: native; graphdriver:
Mar 15 03:49:48 localhost.localdomain docker[11444]: [a25f748b] +job serveapi(fd://)
Mar 15 03:49:48 localhost.localdomain docker[11444]: [info] Listening for HTTP on fd ()
Mar 15 03:49:48 localhost.localdomain docker[11444]: [a25f748b] +job init_networkdriver()
Mar 15 03:49:48 localhost.localdomain docker[11444]: [a25f748b] -job init_networkdriver() = OK (0)
Mar 15 03:49:49 localhost.localdomain docker[11444]: 2015/03/15 03:49:49 write /var/lib/docker/init/dockerinit-1.3.2: no space left on device
Mar 15 03:49:49 localhost.localdomain systemd[1]: docker.service: main process exited, code=exited, status=1/FAILURE
Mar 15 03:49:49 localhost.localdomain systemd[1]: Failed to start Docker Application Container Engine.
Mar 15 03:49:49 localhost.localdomain systemd[1]: Unit docker.service entered failed state.

我真的不知道,期待您的回复,我将非常感激!

【问题讨论】:

  • 错误no space left on device 可能表示文件系统已满。你有没有检查过/var/lib/docker 有多少可用磁盘空间?
  • 这个Github issue 建议yum install docker-io-selinux 如果你启用了selinux 会解决这个问题

标签: docker centos7


【解决方案1】:

这个错误通常是因为缺少 device-mapper-event-libs 包。

# yum install device-mapper-event-libs

【讨论】:

    【解决方案2】:

    感谢Ben Whaley的建议,当我检查我的磁盘空间时,确实不够。我扩展了我的磁盘空间并解决了问题。第一次提问题,真的很有帮助。再次感谢。

    【讨论】:

      【解决方案3】:

      我将 CentOS 7 内核从 3 升级到 4。

      注意:我还因为其他原因升级了内核,请先尝试不升级内核。

      1. 删除/var/lib下的文件夹docker
      2. 转到 cd /etc/sysconfig
      3. vi docker(在编辑之前复制 docker docker.org)
      4. 看到那里你会发现 OPTIONS='--selinux-disabled --log-driver=journald'
      5. 删除 --selinux-disabled 应该像 OPTIONS='--log-driver=journald'
      6. 现在取消注释 # setsebool -P docker_transition_unconfined 1 到 setsebool -P docker_transition_unconfined 1
      7. 重新启动机器,或者你只尝试 docker start 来检查它是否有效:)

      【讨论】:

        猜你喜欢
        • 1970-01-01
        • 2017-02-08
        • 1970-01-01
        • 2016-08-21
        • 1970-01-01
        • 1970-01-01
        • 2021-08-13
        • 1970-01-01
        • 1970-01-01
        相关资源
        最近更新 更多