docker环境一个奇怪的问题,容器进程正常运行,但是docker ps -a却找不到容器,也找不到镜像

news/2025/2/5 12:44:57/文章来源:https://www.cnblogs.com/hi-lijq/p/18586989

一: 问题:
docker环境一个奇怪的问题,使用容器跑的进程正常提供服务,在服务器上也能看到对应的端口正在监听,但是docker ps -a却找不到容器,也找不到镜像.

查看我使用docker容器启动服务的端口 正在监听

docker images 找不到对应的镜像

docker ps -a 找不到任何容器

二: 排查过程:
1.检查docker服务状态

systemctl status docker

看到docker运行正常

  1. 检查 Docker 数据根目录
docker info | grep "Docker Root Dir"


这目录居然是 /var/snap/docker/common/var-lib-docker

在默认情况下,Docker 的数据目录是 /var/lib/docker,但这里却是 Snap 版本 的 Docker,Snap 包的文件系统布局与传统方式不同,因此数据目录被改为 /var/snap/docker/common/var-lib-docker。
这也是为什么我在执行 docker info 时,输出的 Docker Root Dir 是这个路径,而不是默认的 /var/lib/docker。所以需要针对这个路径来检查。

我的docker是使用APT安装的数据目录在/var/lib/docker下 运行一段时间后会莫名跑到/var/snap/docker/ 下,需要重新安装docker才能恢复, 这是Snap 版本的 Docker 和 传统版本的 Docker 共存互相干扰导致的,由于两者的服务名称和运行方式不同,它们可能会在重启或升级后冲突,甚至切换默认的守护进程。

三: 解决方案
要从根本上解决这个问题,需要明确选择 只保留一种 Docker 安装方式。以下是详细步骤:

步骤 1: 检查当前的 Docker 安装方式
运行以下命令确认系统中是否同时存在 Snap 和传统版本的 Docker:

snap list | grep dockerwhich docker

如果 snap list 显示 Docker,则 Snap 版本存在。如果 which docker 显示路径是 /usr/bin/docker,则是传统版本。
如果两者都存在,需要卸载其中一个,这里我们卸载掉snap版本。

sudo snap remove docker

卸载后 重新启动docker发现无法运行,提示 Cannot connect to the Docker daemon at unix:///var/run/docker.sock. Is the docker daemon running?

重新安装传统docker

sudo apt-get remove --purge docker docker-engine docker.io containerd runc
sudo apt-get update
sudo apt-get install -y docker-ce docker-ce-cli containerd.io

安装不成功,提示E: Sub-process /usr/bin/dpkg returned an error code (1

检查 docker.service 的依赖关系发现docker.socket 是红色的,这表示 docker.socket 服务未运行或未正确配置

sudo systemctl list-dependencies docker.service

尝试很多方法无果,决定强制重装 docker.socket

sudo apt-get remove --purge docker-ce docker-ce-cli containerd.io
sudo rm -rf /var/run/docker.sock更新并重新安装:
sudo apt-get update
sudo apt-get install docker-ce docker-ce-cli containerd.io

安装成功

再看下我的镜像和容器,都在!

ok了

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.hqwc.cn/news/846795.html

如若内容造成侵权/违法违规/事实不符,请联系编程知识网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

coca phrase的collocates MI计算比较

declare|declared war declare war declared war

Prime1_解法一:cms渗透 内核漏洞提权

Prime1_解法一:cms渗透 & 内核漏洞提权目录Prime1_解法一:cms渗透 & 内核漏洞提权信息收集主机发现nmap扫描tcp扫描tcp详细扫描22,80端口udp扫描漏洞脚本扫描目录爆破dirsearchWeb渗透wfuzz常见的 wfuzz 过滤器:获得wordpress后台权限wordpress cms渗透WordPress…

Bitmap Indexing in DBMS Bitmap Index vs. B-tree Index low cardinality

1、 Similarly let us assume that the Job of the Employees is divided into 4 categories only i.e Manager, Analyst, Clerk, and Salesman. Such columns are called columns with low cardinality. 2、 SELECT * FROM Employee WHERE New_Emp = &qu…

windows AD域控密码过期企业微信推送告警

在写了windows AD域控密码过期邮件推送告警后,有网友问我能不能写一篇关于企业微信推送的文章 如果需要看邮件推送或者需要自定义脚本,可以参考我的文章 windows AD域控密码过期邮件通知迭代版本1.企业微信告警要求 1.1.企业微信推送需要具备的条件需要在企业微信中创建企业微…

H5-27 浮动

1、浮动的定义fo属性定义元素在哪个方向浮动,任何元素都可以浮动。值 描述left 元素向左浮动right 元素向右浮动 2、浮动的原理:①浮动以后使元素脱离了文档流②浮动只有左右浮动,没有上下浮动 3、元素向左浮动脱离文档流之后,元素相当于在页面上面增加一个浮层来放置内容。…

工业凹槽洗底问题 | 探索研讨

关于抛物线和圆的位置关系的问题探索和引申前情概要 在和同事研讨下述题目的解答时,碰到了一些困难,思路不太好把握,探索一番,做个记录。 案例分析 【2024高二周末训练题】一个工业凹槽的截面是一条抛物线的一部分,它的方程是 \(x^2=4y\),\(y\in[0,10]\),在凹槽内放入一…

大学微积分 AB (第一单元)极限和连续性

极限介绍 平方的表示方式 极限不存在的情况 根据图表估算极限值 无限制 图中的单侧极限

算法网关视频分析网关消防车通道占用识别助力消防通道畅通守护生命线

随着城市化进程的加快,消防安全成为城市管理中的重要一环。消防车通道作为火灾发生时救援车辆的主要通道,其畅通无阻至关重要。然而,在实际生活中,消防车通道被占用或堵塞的现象屡见不鲜,给火灾救援工作带来了极大的阻碍。一、消防车通道占用识别算法的重要性 消防车通道占…

11Labs 推出 Conversational AI,可定制交互式语音智能体;Recall.ai:视频会议智能体通用 API

开发者朋友们大家好:这里是 「RTE 开发者日报」 ,每天和大家一起看新闻、聊八卦。我们的社区编辑团队会整理分享 RTE(Real-Time Engagement) 领域内「有话题的 新闻 」、「有态度的 观点 」、「有意思的 数据 」、「有思考的 文章 」、「有看点的 会议 」,但内容仅代表编辑…

Hive 数据倾斜问题定位排查及解决

多数介绍数据倾斜的文章都是以大篇幅的理论为主,并没有给出具体的数据倾斜案例。当工作中遇到了倾斜问题,这些理论很难直接应用,导致我们面对倾斜时还是不知所措。 今天我们不扯大篇理论,直接以例子来实践,排查是否出现了数据倾斜,具体是哪段代码导致的倾斜,怎么解决这段…

LeetCode 509[斐波那契数]

LeetCode 509[斐波那契数]题目 链接 LeetCode 509[斐波那契数] 详情实例提示题解 思路 递归求值,但是吧,如果是用递归的话有可能会造成内存超出限制的错误,当然我不能确定会不会报此错误,因为我没有试过 此处我是用循环代替递归的 n为0时,fn为0 n为1时,fn为1 n为2时,fn为…

从零开始利用coze智能体API提取抖音视频文本内容

作用:可以将抖音视频说话的内容转成文本。 本文从零开始搭建coze智能体到添加解析插件、到开通API、再创建请求密钥全流程讲解。 完全从零开始一步步操作,直至达到最终目的。 扣子的API能力个人免费使用【注上免费请求说明】 免费版和专业版的对比: 文档链接:https://www.c…