执行docker命令报错,Cannot connect to the Docker daemon at unix:///var/run/docker.sock. Is the docker daemo

文章讲述了在自动升级Docker过程中手动中断后,遇到无法使用的报错。作者指导如何检查Docker服务状态,包括重启、停止和启动socket文件,以解决因socket异常导致的问题。

系统自动升级,我手动中断了升级过程,之后再使用docker命令发现不能用,命令行报错:Cannot connect to the Docker daemon at unix:///var/run/docker.sock. Is the docker daemon running

出现这个问题说明docker服务运行的有问题,首先查看docker是否启动

systemctl  status   docker

如果没有启动的话启动后应该就可以使用docker了。

如果本身就是启动状态,可以重启下试试

systemctl  restart   docker

如果重启后docker是启动状态,但是还不能用,则可能是docker.socket异常退出导致进程没有退出完全

执行以下指令

 systemctl stop docker.socket   #停掉docker.socket
 systemctl stop docker          #停掉docker

然后重新启动docker

systemctl  restart   docker

问题解决

`Cannot connect to the Docker daemon at unix:///var/run/docker.sock. Is the docker daemon running?` 错误表明 Docker 客户端无法连接到 Docker 守护进程,可能是守护进程未启动或者未正确加载所需的配置。以下是一些解决方法: #### 重启 Docker 服务 使用 `systemctl` 命令重启 Docker 服务: ```bash systemctl restart docker.service ``` 此操作可尝试重新启动 Docker 守护进程,使其恢复正常工作状态[^2]。 #### 检查并重启 `docker.socket` 在 Docker v1.13 以后,`docker.sock` 通讯使用专门的服务管理 `docker.socket`。若 `docker.sock` 文件丢失或损坏,可使用以下命令重启 `docker.socket` 来自动生成新的 `docker.sock` 文件: ```bash systemctl restart docker.socket ``` 实践表明,这种方法在部分情况下能解决因 `docker.sock` 文件问题导致的连接错误[^5]。 #### 检查文件权限 `/var/run/docker.sock` 文件是 Docker 命令Docker 守护进程之间进行调用的凭证,若该文件没有正确的权限,也会导致连接失败。可使用以下命令检查并修改文件权限: ```bash ls -l /var/run/docker.sock sudo chmod 666 /var/run/docker.sock ``` 第一条命令用于查看文件的权限信息,第二条命令将文件权限修改为所有用户都有读写权限。不过修改为 `666` 权限可能存在一定安全风险,在生产环境中需谨慎使用。 #### 检查 Docker 守护进程是否运行 使用以下命令检查 Docker 守护进程的运行状态: ```bash systemctl status docker ``` 若守护进程未运行,可使用 `systemctl start docker` 命令启动它;若守护进程处于异常状态,可尝试使用 `systemctl restart docker` 命令重启它。
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值