docker - 无法启动 Docker 服务并出现错误 "Failed to start docker.service: Unit not found."

标签 docker docker-machine

我已经用 yum install docker 安装了 Docker:

$ uname -a
Linux caspgval4 3.10.0-229.20.1.el7.x86_64 #1 SMP Wed Nov 4 10:08:36 CST 2015 x86_64 x86_64 x86_64 GNU/Linux

$ docker --version
Docker version 1.12.6, build 3a094bd/1.12.6

$ docker info
Cannot connect to the Docker daemon. Is the docker daemon running on this host?

$ sudo systemctl status docker
● docker.service - Docker Application Container Engine
   Loaded: loaded (/usr/lib/systemd/system/docker.service; enabled; vendor preset: disabled)
   Active: inactive (dead)
     Docs: http://docs.docker.com

我正在尝试安装和运行 Docker,但出现如下错误:

$ sudo service docker start
Redirecting to /bin/systemctl start  docker.service
Failed to start docker.service: Unit not found.

我该如何解决这个问题?我尝试了以下命令,但没有运气:

$ sudo systemctl start docker
Failed to start docker.service: Unit not found.

额外信息:

$ journalctl -u docker
No journal files were found.
-- No entries --

$ cat /usr/lib/systemd/system/docker.service
[Unit]
Description=Docker Application Container Engine
Documentation=http://docs.docker.com
After=network.target
Wants=docker-storage-setup.service
Requires=rhel-push-plugin.socket
Requires=docker-cleanup.timer

[Service]
Type=notify
NotifyAccess=all
EnvironmentFile=-/etc/sysconfig/docker
EnvironmentFile=-/etc/sysconfig/docker-storage
EnvironmentFile=-/etc/sysconfig/docker-network
Environment=GOTRACEBACK=crash
Environment=DOCKER_HTTP_HOST_COMPAT=1
Environment=PATH=/usr/libexec/docker:/usr/bin:/usr/sbin
ExecStart=/usr/bin/dockerd-current \
          --add-runtime docker-runc=/usr/libexec/docker/docker-runc-current \
          --default-runtime=docker-runc \
          --authorization-plugin=rhel-push-plugin \
          --exec-opt native.cgroupdriver=systemd \
          --userland-proxy-path=/usr/libexec/docker/docker-proxy-current \
          $OPTIONS \
          $DOCKER_STORAGE_OPTIONS \
          $DOCKER_NETWORK_OPTIONS \
          $ADD_REGISTRY \
          $BLOCK_REGISTRY \
          $INSECURE_REGISTRY
ExecReload=/bin/kill -s HUP $MAINPID
LimitNOFILE=1048576
LimitNPROC=1048576
LimitCORE=infinity
TimeoutStartSec=0
Restart=on-abnormal
MountFlags=slave

[Install]
WantedBy=multi-user.target

我尝试了以下方法:

$ sudo systemctl daemon-reload
$ sudo systemctl start docker
Failed to start docker.service: Unit not found.
$ sudo journalctl -u docker
-- No entries --

更多调试信息:

$ sudo systemctl status network.target
● network.target - Network
   Loaded: loaded (/usr/lib/systemd/system/network.target; static; vendor preset: disabled)
   Active: active since Mon 2017-01-23 02:54:39 PST; 2 months 29 days ago
     Docs: man:systemd.special(7)
           http://www.freedesktop.org/wiki/Software/systemd/NetworkTarget

Jan 23 02:54:39 mymachine systemd[1]: Starting Network.
Jan 23 02:54:39 mymachine systemd[1]: Reached target Network.

$ sudo systemctl status docker-storage-setup.service
● docker-storage-setup.service - Docker Storage Setup
   Loaded: loaded (/usr/lib/systemd/system/docker-storage-setup.service; disabled; vendor preset: disabled)
   Active: inactive (dead)

$ sudo systemctl status rhel-push-plugin.socket
Unit rhel-push-plugin.socket could not be found.

$ sudo systemctl status docker-cleanup.timer
● docker-cleanup.timer - Run docker-cleanup every hour
   Loaded: loaded (/usr/lib/systemd/system/docker-cleanup.timer; disabled; vendor preset: disabled)
   Active: inactive (dead)

最佳答案

如果有人使用 snap 安装了 docker,他们可以使用启动服务

sudo snap status docker #check the status
sudo snap start docker # start the service

关于docker - 无法启动 Docker 服务并出现错误 "Failed to start docker.service: Unit not found.",我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/43569781/

相关文章:

Docker:安装依赖项的最佳实践 - Dockerfile 还是 ENTRYPOINT?

macos - docker-machine - 尝试对插件服务器进行心跳调用时出错 : connection is shut down

docker - 如何更改 "default"docker-machine 的 dns 设置

linux - linux 上需要 docker-machine 吗?

docker - Docker Swarm服务网络

docker - 基于Linux的Docker但在内部运行Windows

javascript - Grunt/Docker 文件路径

用于 _failed_ 构建的 docker hub webhook?

python - 在本地(非 Azure)docker 实例中使用来自 Azure feed 的 python 包

node.js - 在 docker 容器中运行 npm install 时,Docker Node 服务返回 ECONNRESET 网络错误