我使用的是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:找不到单元。
我尝试了本主题中的解决方案:CentOS7 无法启动 docker 守护进程 |堆栈溢出我的问题没有解决,我在文档 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
使用该命令时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.
这是我使用时得到的journalctl -xe
No journal files were found.
-- No entries --
我完全陷入这个问题,我不知道还能做什么/尝试;我对 Linux 有点陌生,因此我可能会遗漏一些东西。
编辑1
我已经尝试过该命令rpm -qa | grep docker
,这就是我得到的:
docker-ce-selinux-17.03.0.ce-1.el7.centos.noarch
答案1
如果您必须安装一个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.rpm
因为rpm -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 服务已启动并正在运行。