Rhel

啟動 docker 服務時出錯:未找到單元

  • December 27, 2021

我正在使用 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 daemon | 堆棧溢出,我的問題沒有解決,我在文件 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

如果你必須安裝一個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 服務已啟動並正在執行。

引用自:https://unix.stackexchange.com/questions/427665