无法启动docker服务错误“无法启动docker.service:找不到单位”。

我用yum install 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 -- 

更新更多debugging信息:

 $ 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) 

尝试在根上安装docker(sudo)

sudo yum安装docker

https://docs.docker.com/v1.11/engine/installation/linux/rhel/

它看起来像缺lessrhel-push-plugin.socket单元,这大概是rhel-push-plugin包的一部分。 您可以尝试修复该安装,或者您可以直接从docker安装上游docker软件包,并以root身份执行以下操作:

 curl -sSL https://get.docker.com/ | sh 

上游Docker安装将是Docker的更新版本,但不会有像rhel-push-plugin这样的各种RHEL修改。