当前位置: 首页 > article >正文

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.service
  docker.service -Docker Application Container Engine
    Loaded: 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 ago
  TriggeredBy: docker.socket
    Docs: https://docs.docker.com
	Process: 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.kler.cn/a/502404.html

相关文章:

  • 使用gtsam添加OrientedPlane3Factor平面约束因子
  • torch.einsum计算张量的外积
  • Redis优化建议详解
  • Conda虚拟Python环境下安装包遇到的坑
  • windows中,git bash 使用conda命令
  • Mybatis——Mybatis开发经验总结
  • JavaScript 学习总结
  • linux设置http,https代理
  • 系统看门狗配置--以ubuntu为例
  • 数据分析-使用Excel透视图/表分析禅道数据
  • linux网络 | 深度理解https加密过程 | 模拟设计方案
  • Springcloudgateway 请求无响应,要怎么处理
  • 在 Alpine Linux 下通过 Docker 部署 PostgreSQL 服务器
  • FFmpeg硬件解码
  • Redis HyperLogLog
  • linux 安装docker-compose
  • 黑马linux笔记(03)在Linux上部署各类软件 MySQL5.7/8.0 Tomcat(JDK) Nginx RabbitMQ
  • 基于单片机的数字气压计设计
  • 《零基础Go语言算法实战》【题目 2-25】goroutine 的执行权问题
  • 全网首发:嵌入式交叉编译libssh,正确编译脚本
  • LLM进化下的Agent演变及软件重构下的一点思考
  • Golang学习笔记_22——Reader示例
  • java项目之在线文档管理系统源码(springboot+mysql+vue+文档)
  • 从光子到图像——相机如何捕获世界?
  • 53_多级缓存基础环境搭建
  • doris:数据类型