天天看點

執行docker指令時異常: at unix:///var/run/docker.sock. Is the docker daemon running

場景

執行

docker ps

指令時發現異常:

[root@administrator yum.repos.d]# docker ps
Cannot connect to the Docker daemon at unix:///var/run/docker.sock. Is the docker daemon running
           

執行如下正常操作均無解:

1.重新開機Docker:

systemctl restart docker

2.停止Docker:

systemctl stop docker

3.啟動Docker:

systemctl start docker

原因分析

首先:

daemon預設監聽/var/run/docker.sock這個檔案,docker用戶端把請求發往這裡,daemon就能收到并做出響應。

其次:

看異常資訊推測:

var/run/docker.sock

檔案異常,執行

systemctl status docker.socket

檢視其狀态

[root@administrator yum.repos.d]# systemctl status docker.socket
● docker.socket - Docker Socket for the API
   Loaded: loaded (/usr/lib/systemd/system/docker.socket; enabled; vendor preset: disabled)
   Active: failed (Result: resources) since 三 2022-06-15 23:36:57 CST; 52s ago
   Listen: /var/run/docker.sock (Stream)

6月 15 23:36:57 administrator systemd[1]: Closed Docker Socket for the API.
6月 15 23:37:20 administrator systemd[1]: docker.socket failed to listen on sockets: Address already in use
6月 15 23:37:20 administrator systemd[1]: Failed to listen on Docker Socket for the API.
6月 15 23:37:20 administrator systemd[1]: Unit docker.socket entered failed state.
6月 15 23:37:36 administrator systemd[1]: docker.socket failed to listen on sockets: Address already in use
6月 15 23:37:36 administrator systemd[1]: Failed to listen on Docker Socket for the API.
Warning: Journal has been rotated since unit was started. Log output is incomplete or unavailable.
[root@administrator yum.repos.d]# systemctl status docker
● docker.service - Docker Application Container Engine
   Loaded: loaded (/usr/lib/systemd/system/docker.service; enabled; vendor preset: disabled)
   Active: inactive (dead) since 三 2022-06-15 23:36:57 CST; 1min 7s ago
     Docs: https://docs.docker.com
  Process: 6895 ExecStart=/usr/bin/dockerd -H fd:// --containerd=/run/containerd/containerd.sock (code=exited, status=0/SUCCESS)
 Main PID: 6895 (code=exited, status=0/SUCCESS)
           
[root@administrator yum.repos.d]# ls -l /var/run/ | grep docker
drwx------  8 root   root    160 6月  15 23:36 docker
drwxr-xr-x  2 root   root     40 6月   8 01:07 docker.sock
           

解決方案

[root@administrator yum.repos.d]# rm -rf /var/run/docker.sock
           
[root@administrator yum.repos.d]# systemctl start docker
[root@administrator yum.repos.d]# docker ps
CONTAINER ID   IMAGE                    COMMAND                  CREATED        STATUS         PORTS                    NAMES
02688799076d   portainer/portainer      "/portainer"             6 months ago   Up 4 seconds   0.0.0.0:9000->9000/tcp   portainer