Docker启动失败 - 解决方案

Docker启动失败 - 解决方案

  • 问题
  • 原因
  • 解决方案
  • service问题

问题

重启docker失败:

toolchain@endurance:~$ sudo systemctl restart docker
Job for docker.service failed because:the control process exited with error codesee:"systemctl status docker.service"and "journalctl -xe" for details.

查看docker状态失败:

toolchaiGendurance:~$ systemctl status docker.servicedocker.service -Docker Application Container EngineLoaded: loaded (/lib/systemd/system/docker.service; enabled; vendor preset: enabled)Active: activating (auto-restart)(Result: exit-code) since Fri 2024-08-23 11:35:58 CST; 16s agoTriggeredBy: docker.socketDocs: https://docs.docker.comProcess: 712310 Execstart=/usr/bin/dockerd -H fd: // --containerd=/run/containerd/containerd,sock (code=exited, status=2)Main PID: 712310(code=exited, status=2)CPU: 5.522S

开启docker守护进程失败:
提示:panic: page 3 already freed

toolchain@endurance:~$ sudo dockerd
INFO[2024-08-23T19:33:48.674258552+08:00] [core] [Channel #4] Channel switches to new LB policy "pick_first"  module=grpc
INFO[2024-08-23T19:33:48.674345379+08:00] [core] [Channel #4 SubChannel #5] Subchannel created  module=grpc
INFO[2024-08-23T19:33:48.674417172+08:00] [core] [Channel #4 SubChannel #5] Subchannel Connectivity change to CONNECTING  module=grpc
INFO[2024-08-23T19:33:48.674468422+08:00] [core] [Channel #4 SubChannel #5] Subchannel picks a new address "/run/containerd/containerd.sock" to connect  module=grpc
INFO[2024-08-23T19:33:48.674520414+08:00] [core] [Channel #4] Channel Connectivity change to CONNECTING  module=grpc
INFO[2024-08-23T19:33:48.676239438+08:00] [core] [Channel #4 SubChannel #5] Subchannel Connectivity change to READY  module=grpc
INFO[2024-08-23T19:33:48.676290632+08:00] [core] [Channel #4] Channel Connectivity change to READY  module=grpc
INFO[2024-08-23T19:33:48.793055728+08:00] [graphdriver] using prior storage driver: overlay2
INFO[2024-08-23T19:33:48.910189098+08:00] Loading containers: start.
panic: page 3 already freed

原因

根据提示:panic: page 3 already freed

local-kv.db文件损坏了,导致docker启动时要释放的资源已经被释放了,状态不一致导致报错。

db文件损坏可能是由于突然断电导致的。

解决方案

将local-kv.db文件删除或重命名即可。步骤如下:

检查deamon.json

vim /etc/docker/daemon.json
default data-root: /var/lib/docker# daemon.json example, 24 server
{"data-root": "/home/docker"
}

data-root

若没有deamon.json或其中没有data-root,则data-root为默认的 /var/lib/docker

以24服务器为例,data-root为/home/docker

进入data-root

# 普通用户没有权限进入data-root
-bash: cd: /home/docker: Permission denied
# 使用管理员权限进入
sudo -s
cd /home/docker

删除db文件

db file: [data-root]/network/files/local-kv.db
default data-root: /var/lib/docker
# delete db file
sudo -s
cd [data-root]/network/files
mv local-kv.db local-kv-backup.db
# search other db file
find [data-root] -type f -size -5M -name '*.db' | grep -v overlay
/var/lib/docker/volumes/metadata.db
/var/lib/docker/network/files/local-kv.db
/var/lib/docker/buildkit/containerdmeta.db
/var/lib/docker/buildkit/snapshots.db
/var/lib/docker/buildkit/metadata_v2.db
/var/lib/docker/buildkit/cache.db

重启docker服务

# new system
sudo systemctl restart docker
# old system
sudo service docker restart

service问题

若使用 service 命令时,出现如下报错:

sudo service docker restart
Failed to allocate directory watch: Too many open files

解决方案详见本人的另一篇文章:
Linux系统service命令报错 - 解决方案

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

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

相关文章

【伪随机数】关于排序算法自测如何生成随机数而引发的……

以 Random 开始 可能一开始&#xff0c;你只是写到了排序算法如何生成随机数 public static void main(String[] args) {Random random new Random();int[] nums new int[10];for (int i 0; i < nums.length; i) {nums[i] random.nextInt(100);}System.out.println(&q…

项目概述、开发环境搭建(day01)

软件开发整体介绍 软件开发流程 第1阶段: 需求分析 需求规格说明书&#xff0c; 一般来说就是使用 Word 文档来描述当前项目的各个组成部分&#xff0c;如&#xff1a;系统定义、应用环境、功能规格、性能需求等&#xff0c;都会在文档中描述。产品原型&#xff0c;一般是通过…

1Hive概览

1Hive概览 1hive简介2hive架构3hive与Hadoop的关系4hive与传统数据库对比5hive的数据存储 1hive简介 Hive是基于Hadoop的一个数据仓库工具&#xff0c;可以将结构化的数据文件映射为一张数据库表&#xff0c;并提供类SQL查询功能。 其本质是将SQL转换为MapReduce/Spark的任务进…

Hive迁移,小表(10G以下的),分区快速修复批量脚本

hive迁移要迁移元数据&#xff08;mysql&#xff09;&#xff0c;要迁移实际数据hdfs&#xff0c;迁移完后如果有分区&#xff0c;通常是不能访问的。 这里就要修复分区了&#xff0c;如果是大表&#xff0c;几十T这种&#xff0c;迁移可能花了24小时&#xff0c;那么你修复分…

Vulnhub DC-9靶机实战

前言 这里说一下这个靶机的难点 1.这次sql注入是两个库的&#xff0c;在不使用sqlmap的情况下很多人直接database()看数据库&#xff0c;另一个库反倒没关注 2.nmap的扫描方式如果用-sT的tcp连接扫端口的话是扫不到那些被防火墙过滤的端口的&#xff0c;直接nmap ip就可以 3…

嵌入式入门Day42

toc 作业 //main.cpp #include <iostream> #include "mystring.h"using namespace std;int main() {mystring stra("Hello");mystring strb;cin >> strb;cout << strb << endl;strb stra;cout << strb << endl;str…

快速、可靠且高性价比的定制IP模式提升芯片设计公司竞争力

作者&#xff1a;Karthik Gopal&#xff0c;SmartDV Technologies亚洲区总经理 智权半导体科技&#xff08;厦门&#xff09;有限公司总经理 无论是在出货量巨大的消费电子市场&#xff0c;还是针对特定应用的细分芯片市场&#xff0c;差异化芯片设计带来的定制化需求也在芯片…

QT中,在子线程中更新UI,会出现哪些问题,如何避免这种情况发生。

在Qt中&#xff0c;直接从子线程更新UI&#xff08;用户界面&#xff09;通常会导致各种问题&#xff0c;主要是因为Qt的UI组件&#xff08;如QWidget及其子类&#xff09;并不是线程安全的。具体来说&#xff0c;可能会出现以下问题&#xff1a; 崩溃和未定义行为&#xff1a;…

【Git版本控制器--1】Git的基本操作--本地仓库

目录 初识git 本地仓库 认识工作区、暂存区、版本库 add操作与commit操作 master文件与commit id 修改文件 版本回退 撤销修改 删除文件 初识git Git 是一个分布式版本控制系统&#xff0c;主要用于跟踪文件的更改&#xff0c;特别是在软件开发中。 为什么要版本…

2025宝塔API一键建站系统PHP源码

源码介绍 2025宝塔API一键建站系统PHP源码&#xff0c;对接自己的支付&#xff0c;虚拟主机也能搭建&#xff0c;小白式建站系统&#xff0c;基于宝塔面板搭建的建站系统&#xff0c;功能丰富&#xff0c;多款模板&#xff0c;每日更新 上传源码到服务器&#xff0c;浏览器访问…

在IDEA上运行Java项目

新建一个项目&#xff0c;下面创建模块&#xff0c;然后在src下新建包名&#xff0c;最后见类&#xff08;class&#xff09; 设置主题 settings>apparence 设置字体 Editor> Font 设置注释 Editor>Color Scheme>Language Defaults>Comments 设置自动导包 …

【机器学习】主动学习-增加标签的操作方法-成员查询合成(Membership Query Synthesis, MQS)

成员查询合成&#xff08;Membership Query Synthesis, MQS&#xff09;是一个主要应用于机器学习、计算学习理论和自然语言处理&#xff08;NLP&#xff09;等领域的概念。它描述了一种框架或技术&#xff0c;其中学习系统&#xff08;如算法&#xff09;可以主动生成查询&…

2025年01月13日Github流行趋势

1. 项目名称&#xff1a;Jobs_Applier_AI_Agent 项目地址url&#xff1a;https://github.com/feder-cr/Jobs_Applier_AI_Agent项目语言&#xff1a;Python历史star数&#xff1a;25929今日star数&#xff1a;401项目维护者&#xff1a;surapuramakhil, feder-cr, cjbbb, sarob…

DHCP、MSTP+VRRP总结实验

R1即使服务器&#xff08;给予dhcp的地址的&#xff09; [LSW1]int Eth-Trunk 12 [LSW1-Eth-Trunk12]mode manual load-balance //配置链路聚合模式为手工负载分担模式 [LSW1-Eth-Trunk12]load-balance src-dst-mac //配置基于源目IP的负载分担模式[LSW1-Eth-Trunk12]trunk p…

【ArcGIS初学】产生随机点计算混淆矩阵

混淆矩阵&#xff1a;用于比较分类结果和地表真实信息 总体精度(overall accuracy) :指对角线上所有样本的像元数(正确分类的像元数)除以所有像元数。 生产者精度(producers accuracy) &#xff1a;某类中正确分类的像元数除以参考数据中该类的像元数(列方向)&#xff0c;又称…

F#语言的语法糖

F#语言的语法糖 引言 F#是一种强类型、函数式编程语言&#xff0c;构建在.NET平台之上。它与OCaml有很多相似之处&#xff0c;并在设计时考虑了易用性和表达能力。语法糖是编程语言中的一种特性&#xff0c;指的是为了简化代码的编写而提供的语法扩展。在F#中&#xff0c;语法…

RocketMQ、Kafka、RabbitMQ,如何选型?

如何根据应用场景选择合适的消息中间件? 分布式、微服务、高并发架构中&#xff0c;消息队列&#xff08;Message Queue&#xff0c;简称MQ&#xff09;扮演着至关重要的角色。 消息队列用于实现系统间的异步通信、解耦、削峰填谷等功能。 目前常见的MQ实现包括RabbitMQ、Rock…

Java 在 Linux 上的守护进程:如何优雅地终止和管理自启动程序

哈喽&#xff0c;各位小伙伴们&#xff0c;你们好呀&#xff0c;我是喵手。运营社区&#xff1a;C站/掘金/腾讯云/阿里云/华为云/51CTO&#xff1b;欢迎大家常来逛逛 今天我要给大家分享一些自己日常学习到的一些知识点&#xff0c;并以文字的形式跟大家一起交流&#xff0c;互…

工作效率提升:使用Anaconda Prompt 创建虚拟环境总结

目录 完整顺序命令流程&#xff08;直接照着改就行&#xff09;详细步骤解析&#xff08;想要详细解析的看过来&#xff09;1. 创建一个用于存储 Conda 环境的目录&#xff08;可选&#xff09;2. 创建新的 Conda 虚拟环境并指定路径3. 激活新创建的环境4. 安装 Jupyter Notebo…

有一台服务器可以做哪些很酷的事情

有一台服务器可以做哪些很酷的事情 今天我也来简单分享一下&#xff0c;这几年来&#xff0c;我用云服务器做了哪些有趣的事情。 服务器推荐 1. 个人博客 拥有个人服务器&#xff0c;你可以完全掌控自己的网站或博客。 与使用第三方托管平台相比&#xff0c;你能自由选择网站…