【问题标题】:service docker start fails (daemon is not a docker command)service docker start 失败(守护进程不是 docker 命令)
【发布时间】:2016-07-14 11:43:24
【问题描述】:

我尝试重新启动 docker 后遇到问题。自那以后, service docker start 返回“开始:作业无法启动”。

这可能在我更改 docker.conf 后开始。我尝试使用命令重新上传它

wget -O /etc/init/docker.conf https://raw.githubusercontent.com/docker/docker/master/contrib/init/upstart/docker.conf

但是,我没有幸运地解决了这个问题。

cat /var/log/upstart/docker.log 返回:

Waiting for /var/run/docker.sock
docker: 'daemon' is not a docker command. See 'docker --help'.
Waiting for /var/run/docker.sock
docker: 'daemon' is not a docker command. See 'docker --help'.
Waiting for /var/run/docker.sock
docker: 'daemon' is not a docker command. See 'docker --help'.

任何帮助将不胜感激。

【问题讨论】:

    标签: docker digital-ocean upstart


    【解决方案1】:

    在我的情况下,升级到 docker 19.03.5 后,我收到了这个错误。 手动启动时,/usr/bin/dockerd 一切正常,但通过 systemctl start docker 失败。

    查看journalctl -xe发现日志:

    docker: 'daemon' is not a docker command.
    

    docker.service 文件是正确的,从/usr/bin/dockerd 开始。

    我花了一些时间发现之前的安装有一个配置文件:/etc/systemd/system/docker.service.d/override.conf,它用其他不推荐的语法替换了 docker daemon start 命令(/usr/bin/dockerd)。

    在这种情况下,您可以删除 override.conf 文件以允许 docker 启动:

    rm /etc/systemd/system/docker.service.d/override.conf
    systemctl daemon-reload
    systemctl start docker
    

    希望对你有帮助

    【讨论】:

      【解决方案2】:

      您可能安装了旧版本的 docker; docker daemon 子命令是 added in docker 1.8。在此之前,守护程序是使用 -d / --daemon 选项 (docker -d) 启动的。

      您下载的 upstart-configuration 版本适用于 当前 docker 版本;例如,对于旧版本的 docker,请务必下载与您安装的版本匹配的版本; https://raw.githubusercontent.com/docker/docker/v1.7.1/contrib/init/upstart/docker.conf

      我建议升级到更新版本的 docker,因为早于 1.8 的版本现在变得相当老了(在 Docker 术语中)

      【讨论】:

      • 谢谢,为我节省了很多时间。你是绝对正确的:)
      猜你喜欢
      • 2016-02-07
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2014-10-05
      • 2018-04-25
      • 1970-01-01
      相关资源
      最近更新 更多