Cannot connect to the Docker daemon at unix:///var/run/docker.sock. 问题解决

ops/2024/10/18 14:25:20/

问题描述

原来我的服务器docker服务运行正常,但在某次尝试用时, 根据系统的错误提示执行了snap install docker指令之后,
再执行docker ps命令则提示Cannot connect to the Docker daemon at unix:///var/run/docker.sock. Is the docker daemon running? 无法访问docker服务了, 查看状态是正常, 并且重启也没报错, 就是无法通过docker命令操作docker

网上很多相同的报错, 都是一开始下载的时候才出现问题,
而不是像我这种正常使用后, 因为用了另一种方式安装docker导致原来的服务无法被访问到

因此解决的方式会和别的不太一样

问题分析

执行 snap install docker 后,你实际上通过 Snap 安装了 Docker 的另一个实例,
这个实例可能与系统中原有的 Docker 实例(可能是通过包管理器如 apt, yum, dnf 等安装的)发生冲突。
这通常会导致 /var/run/docker.sock 文件被新的 Docker 实例使用,或者原有的 Docker 服务被停止。

解决步骤

要解决这个问题,需要有以下几个步骤:

1. 停止并卸载通过 Snap 安装的 Docker

首先,尝试停止并卸载通过 Snap 安装的 Docker:

sudo snap stop docker
sudo snap remove docker

2. 确认原有的 Docker 是否正在运行

卸载 Snap 版本的 Docker 后,检查原有的 Docker 是否正在运行:

sudo systemctl status docker  # 对于使用 systemd 的系统
# 或者
sudo service docker status    # 对于较旧的系统

如果 Docker 没有运行,尝试启动它:

sudo systemctl start docker  # 对于使用 systemd 的系统
# 或者
sudo service docker start    # 对于较旧的系统

dockersock_45">3. 检查 /var/run/docker.sock

确认 /var/run/docker.sock 文件存在并且 Docker 用户(通常是 docker 用户组)有权访问它。
你可以使用 ls -l /var/run/docker.sock 来查看文件权限。

docker__53">4. 将你的用户添加到 docker 组(如果尚未添加)

如果你之前没有将你的用户添加到 docker 组,你需要这样做以确保你的用户可以无需 sudo 就能运行 Docker 命令:

# 直接执行,无需修改
sudo usermod -aG docker $USER

5. 重启你的机器

有时候,重启你的机器可以解决由于服务冲突或状态不一致引起的问题。reboot

6. 检查 Docker 守护进程的日志

如果 Docker 仍然无法启动,查看 Docker 守护进程的日志可能会提供有用的信息:

journalctl -u docker.service  # 对于使用 systemd 的系统
# 或者查看 /var/log/docker.log 或使用 dmesg(如果相关日志被记录在那里)

docker_ps_75">7. docker ps查看是否恢复成功

在这里插入图片描述


至此我的问题解决完成, 如果执行到此步骤你还没有成功, 建议查看下面推荐的其他文章, 或者卸载重装


http://www.ppmy.cn/ops/94356.html

相关文章

C语言strpbrk函数

目录 开头1.什么是strpbrk函数?2.strpbrk函数的内部程序流程图 3.strpbrk函数的实际应用定位字符串中的字符求元音字母(a e i o u A E I O U)的个数NB158 牛牛的名字游戏 结尾 开头 大家好,我叫这是我58。今天,我们要学一下关于C语言里的能定位字符串中…

Mysql绕过小技巧

上源码。 <?php $mysqli new mysqli("localhost", "root", "root", "security");/* check connection */ if ($mysqli->connect_errno) {printf("Connect failed: %s\n", $mysqli->connect_error);exit(); }$my…

Android全面解析之context机制(二): 从源码角度分析context创建流程(上)

前言 这篇文章从源码角度分析context创建流程。 在上一篇Android全面解析之Context机制(一) :初识context一文中讲解了context的相关实现类。经过前面的讨论&#xff0c;读者对于context在心中有了一定的理解。但始终觉得少点什么&#xff1a;activity是什么时候被创建的&…

消费类电子产品日用品外观全案设计学习的思考

1. 如下脑图稍微对于消费类电子产品&日用品外观的全案设计需要学习的内容进行了整理&#xff1b; 2. 除了日常的积累&#xff0c;观察和理论的学习外&#xff0c;实践部分也需要重视起来&#xff0c;首先是手绘&#xff0c;无论后续工作中是用手绘还是板绘&#xff0c;手绘…

JavaScript 基础(四)

五、DOM编程 1.常用事件 onload 页面加载后触发事件 onscroll 滚动时触发 onresize 尺寸变化时 onclick 鼠标点击 onmouseover 鼠标悬停 onmouseout 鼠标移出 onmousemove 鼠标移动&#xff0c;会触发多次 onfocus 对象获得光标&#xff08;焦点&#xff09;时&#x…

超详细!!!electron-vite-vue开发桌面应用之引入UI组件库element-plus(四)

云风网 云风笔记 云风知识库 一、安装element-plus以及图标库依赖 npm install element-plus --save npm install element-plus/icons-vue npm i -D unplugin-icons二、vite按需引入插件 npm install -D unplugin-vue-components unplugin-auto-importunplugin-vue-componen…

控制台返回<empty string>是什么意思

您输入的是一个空字符串&#xff0c;这表示没有任何字符或内容。空字符串在编程和数据处理中很常见&#xff0c;用于表示缺失的文本、未定义的值或需要后续填充的数据字段。在不同的编程语言中&#xff0c;空字符串的表示方法可能略有不同&#xff0c;但大多数语言都支持这一概…

生物液氮罐操作不当导致的常见问题及解决方案

生物液氮罐广泛应用于冷冻保存生物样本&#xff0c;如细胞、组织和胚胎。由于其操作要求严格&#xff0c;液氮罐操作不当可能会导致一系列问题&#xff0c;影响样本的质量和安全。常见的问题包括液氮的过度蒸发、液氮温度过高、样本污染等&#xff0c;这些问题都需要及时解决以…