服务 docker 启动失败(守护程序不是 docker 命令)
service docker start fails (daemon is not a docker command)
我尝试重新启动后遇到问题 docker。自那时候起,
服务 docker 开始 returns "start: Job failed to 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 returns:
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; docker daemon
子命令是 added in docker 1.8。在此之前,守护进程是使用 -d
/ --daemon
选项 (docker -d
) 启动的。
您下载的 upstart-configuration 版本适用于 current docker 版本;例如,对于 docker 的旧版本,请务必下载与您安装的版本相匹配的版本;
https://raw.githubusercontent.com/docker/docker/v1.7.1/contrib/init/upstart/docker.conf
我建议升级到 docker 的更新版本,因为早于 1.8 的版本现在已经很旧了(在 Docker 术语中)
就我而言,升级到 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 守护进程启动命令 (/usr/bin/dockerd
) 替换为其他不推荐使用的语法。
在这种情况下,您可以删除 override.conf
文件以允许 docker 启动:
rm /etc/systemd/system/docker.service.d/override.conf
systemctl daemon-reload
systemctl start docker
希望对您有所帮助
我尝试重新启动后遇到问题 docker。自那时候起, 服务 docker 开始 returns "start: Job failed to 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 returns:
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; docker daemon
子命令是 added in docker 1.8。在此之前,守护进程是使用 -d
/ --daemon
选项 (docker -d
) 启动的。
您下载的 upstart-configuration 版本适用于 current docker 版本;例如,对于 docker 的旧版本,请务必下载与您安装的版本相匹配的版本; https://raw.githubusercontent.com/docker/docker/v1.7.1/contrib/init/upstart/docker.conf
我建议升级到 docker 的更新版本,因为早于 1.8 的版本现在已经很旧了(在 Docker 术语中)
就我而言,升级到 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 守护进程启动命令 (/usr/bin/dockerd
) 替换为其他不推荐使用的语法。
在这种情况下,您可以删除 override.conf
文件以允许 docker 启动:
rm /etc/systemd/system/docker.service.d/override.conf
systemctl daemon-reload
systemctl start docker
希望对您有所帮助