启动 docker 服务时出错:未找到单元

Neo*_*iri 7 rhel socket docker

我正在使用 Redhat 7.4,这台机器没有互联网连接,我想安装 Docker,因此我下载了一个 rpm 包,这个:

docker-ce-selinux-17.03.0.ce-1.el7.centos.noarch.rpm

我使用了该命令yum install,显然所有过程都进行得很顺利,但是当我使用时我的问题就开始了,sudo systemctl start docker我得到了这个:

无法启动 docker.service:未找到单元。

我尝试了本主题中的解决方案:Cannot start docker daemon in CentOS7 | Stack Overflow和我的问题没有解决,我在文档 docker.socket 中写了这个

[Unit]
Description=Docker Socket for the API
PartOf=docker.service

[Socket]
ListenStream=/var/run/docker.sock
SocketMode=0660
SocketUser=root
SocketGroup=docker

[Install]
WantedBy=sockets.target
Run Code Online (Sandbox Code Playgroud)

使用该命令时,sudo systemctl start docker.socket它会抛出:

docker.socket 的作业失败。有关详细信息,请参阅“systemctl status docker.socket”和“journalctl -xe”。

然后我使用了这个命令sudo systemctl status docker.socket并得到了这个

docker.socket - Docker Socket for the API
Loaded: loaded (/usr/lib/systemd/system/docker.socket; disabled; vendor 
preset: disabled)
Active: inactive (dead)
Listen: /var/run/docker.sock (Stream)

mar 02 10:19:28 machine.name systemd[1]: Socket service 
docker.service not loaded, refusing.
mar 02 10:19:28 machine.name systemd[1]: Failed to listen on Docker 
Socket for the API.
Run Code Online (Sandbox Code Playgroud)

这是我在使用时得到的 journalctl -xe

No journal files were found.
-- No entries --
Run Code Online (Sandbox Code Playgroud)

我都被这个问题困住了,我不知道还能做什么/尝试什么;我对 Linux 有点陌生,因此我可能会遗漏一些东西。

编辑 1

我试过这个命令rpm -qa | grep docker,这就是我得到的:

docker-ce-selinux-17.03.0.ce-1.el7.centos.noarch

Nas*_*ley 5

如果你必须安装一个Centos包,RHEL那么你真正想要的包是:

docker-ce-17.12.1.ce-1.el7.centos.x86_64.rpm

你可以在别处下载它,然后把它带到你的机器上。包的链接是' https://download.docker.com/linux/centos/7/x86_64/stable/Packages/docker-ce-17.12.1.ce-1.el7.centos.x86_64.rpm `

您还需要这个包:container-selinux-2.36-1.gitff95335.el7.noarch.rpm因为它是一个依赖项。它可以从http://mirror.centos.org/centos/7/extras/x86_64/Packages/

在您开始之前,无论是yum remove docker-ce-selinux-17.03.0.ce-1.el7.centos.noarch.rpmrpm -e docker-ce-selinux-17.03.0.ce-1.el7.centos.noarch.rpm因为它们可能与container-selinux-2.36-1.gitff95335.el7.noarch.rpm

我提到的软件包在您的机器上后,您可以通过以下两种方式之一安装它们:

yum install container-selinux-2.36-1.gitff95335.el7.noarch.rpm docker-ce-17.12.1.ce-1.el7.centos.x86_64.rpm

rpm -ivh container-selinux-2.36-1.gitff95335.el7.noarch.rpm docker-ce-17.12.1.ce-1.el7.centos.x86_64.rpm

安装后,

systemctl list-unit-files | grep docker 这将显示 docker.service

systemctl enable docker

systemctl start docker

systemctl status docker

您将看到 docker 服务已启动并正在运行。