Loading [MathJax]/jax/output/CommonHTML/config.js
首页
学习
活动
专区
圈层
工具
发布
首页
学习
活动
专区
圈层
工具
MCP广场
社区首页 >专栏 >docker 启动失败排查(loopback attach failed)

docker 启动失败排查(loopback attach failed)

作者头像
用户10325771
发布于 2023-03-01 09:15:14
发布于 2023-03-01 09:15:14
1.5K00
代码可运行
举报
运行总次数:0
代码可运行

某个清晨来到公司,突然发现MySQL,redis一直Connection TimedOut,打开Navicat连接MySQL连接不上,无法打开Portainer(docker可视化操作页面);远程连接服务器发现docker挂掉了,使用systemctl start docker无法启动,使用dockerd启动查看报错信息。

1、error initializing graphdriver: loopback attach failed(第一个错误信息)

错误信息:

代码语言:javascript
代码运行次数:0
运行
AI代码解释
复制
ERRO[2022-04-20T10:46:43.988072049+08:00] Error opening loopback device: open /dev/loop0: no such device or address 
ERRO[2022-04-20T10:46:43.988117534+08:00] [graphdriver] prior storage driver devicemapper failed: loopback attach failed 
  • 通过百度查找到相关解决方案都是在 /dev 路劲下新建 loop$num等文件
  • 以上图修改存储驱动等方式解决无法解决上述错误;
  • 手动添加使用以下命令控制回路设备的回路模块后:
代码语言:javascript
代码运行次数:0
运行
AI代码解释
复制
insmod /lib/modules/3.10.0-327.36.2.el7.x86_64/kernel/drivers/block/loop.ko
复制代码

/lib/modules/路径后根据你本机的内核版本进入对应内核版本文件夹即可。

2、 Error running deviceCreate (CreatePool) dm_task_run failed

错误信息:

代码语言:javascript
代码运行次数:0
运行
AI代码解释
复制
[graphdriver] prior storage driver "devicemapper" failed: devicemapper: Error running deviceCreate (CreatePool) dm_task_run failed
复制代码
  • 可能是因为没有足够的空间磁盘(并不是):
  • 使用 dockerd -D –storage-driver=overlay指定存储驱动的方式来进行修复,没有用(试过了官网给出的所有选项)
3、解决方式:

官网[:](dockerd |Docker 文档)

再次翻看文档时发现:

  1. 查看内核版本:uname -sr发现版本3.*
  2. 升级内核:
代码语言:javascript
代码运行次数:0
运行
AI代码解释
复制
#导入该源的秘钥
rpm --import https://www.elrepo.org/RPM-GPG-KEY-elrepo.org
#启用该源仓库
rpm -Uvh http://www.elrepo.org/elrepo-release-7.0-2.el7.elrepo.noarch.rpm
#查看有哪些内核版本可供安装
yum --disablerepo="*" --enablerepo="elrepo-kernel" list available
#版本选择
    #安装的长期稳定版本,稳定可靠
    yum --enablerepo=elrepo-kernel install kernel-lt -y 
    #安装的是主线版本,该版本比较激进,慎重选择
    yum --enablerepo=elrepo-kernel install kernel-ml -y
复制代码
  1. 设置 GRUB 默认的内核版本:
代码语言:javascript
代码运行次数:0
运行
AI代码解释
复制
GRUB 初始化的第一个内核将作为默认内核,记得查看你想使用的内核排序
# vim /etc/default/grub 设置 GRUB_DEFAULT=0
GRUB_TIMEOUT=5
GRUB_DISTRIBUTOR="$(sed 's, release .*$,,g' /etc/system-release)"
#这里的saved改为0即可,重启后,默认就是你上次所选的版本了。
GRUB_DEFAULT=saved
GRUB_DISABLE_SUBMENU=true
GRUB_TERMINAL_OUTPUT="console"
GRUB_CMDLINE_LINUX="rhgb quiet"
GRUB_DISABLE_RECOVERY="true"

命令行执行:grub2-mkconfig -o /boot/grub2/grub.cfg
复制代码
  1. 重启机器,再次使用 dockerd 启动docker测试是否可以正常启动;完美运行,停止使用systemctl start docker启动即可
本文参与 腾讯云自媒体同步曝光计划,分享自作者个人站点/博客。
如有侵权请联系 cloudcommunity@tencent.com 删除

本文分享自 作者个人站点/博客 前往查看

如有侵权,请联系 cloudcommunity@tencent.com 删除。

本文参与 腾讯云自媒体同步曝光计划  ,欢迎热爱写作的你一起参与!

评论
登录后参与评论
暂无评论
推荐阅读
编辑精选文章
换一批
深入理解MySQL事务日志-Undo Log
事务的持久性是交由Redo Log来保证,原子性则是交由Undo Log来保证。如果事务中的SQL执行到一半出现错误,需要把前面已经执行过的SQL撤销以达到原子性的目的,这个过程也叫做"回滚",所以Undo Log也叫回滚日志。
绿水长流z
2025/01/03
2010
深入理解MySQL事务日志-Undo Log
mysql-innodb-事务
InnoDB存储引擎层产生,物理日志,记录的是对页的修改,innodb1.2版本后,最大512GB
温安适
2020/05/30
5220
MySQL 中删除的数据都去哪儿了?
那么这里又有个新的问题了,如果在 InnoDB 下,多事务并发的情况下,如果事务A删除了 id=1 的数据,同时事务B又去读取 id=1 的数据,如果这条数据真的被删除了,那 MVCC 拿啥数据返回给用户呢?
冬夜先生
2021/10/08
1.6K0
innodb核心配置总结---官方文档阅读笔记
-- 每个表单独文件和单独表空间,而不是放在系统表空间,每个表的文件表空间允许操作系统在表被截断或删除时回收磁盘空间。每表文件表空间还支持动态和压缩行格式以及相关功能
丿丶MySQL灬灬
2021/10/25
1.2K0
浅析InnoDB purge线程
在处理一个故障的时候怀疑大量的删除数据导致了查询比较慢,但是自己对purge线程的工作流程一直不太清楚,本文不做深入解析,只做工作流程解析,待着如下问题进行:
老叶茶馆
2020/12/15
2.2K0
深入解析InnoDB Undo Log:事务回滚与MVCC的核心机制
晚上不吃饭了
2025/05/23
1670
史上最详尽,一文讲透 MVCC 实现原理
上一篇文章中,我们介绍了 mysql 的 crash safe 机制,也是 ACID 中原子性的实现 — redolog 的原理和配置方法。 mysql 异常情况下的事务安全 — 详解 mysql redolog
用户3147702
2022/06/27
1.6K0
史上最详尽,一文讲透 MVCC 实现原理
MySQL内核InnoDB存储引擎详解
MySQL从5.5版本开始将InnoDB作为默认存储引擎,该存储引擎是第一个完整支持事务ACID特性的存储引擎,且支持数据行锁,多版本并发控制(MVCC),外键,以及一致性非锁定读。 作为默认存储引擎,也就意味着默认创建的表都会使用此存储引擎,除非 使用ENGINE=参数指定创建其他存储引擎的表。
星哥玩云
2022/08/17
3.4K0
MySQL内核InnoDB存储引擎详解
MySQL底层概述—3.InnoDB线程模型
InnoDB存储引擎是多线程的模型,因此其后台有多个不同的后台线程,负责处理不同的任务。
东阳马生架构
2025/02/11
1020
MySQL 5.7 新特性之三
本系列文章基于5.7.20 版本讲述MySQL的新特性,从安装,文件结构,SQL,优化,复制等几个方面展开介绍5.7 的新特性和功能,同时也建议大家跟踪官方blog和文档 ,以尽快知悉其新的变化。
用户1278550
2018/08/09
7460
mysql体系结构
2用户名密码验证(通过授权表做的验证数据库一启动,会把授权表加载到内存中 mysql.user mysql.db mysql.table_priv mysql.column_priv)
萧晚歌
2021/11/17
1.1K0
快速安全删除MySQL大表
版权声明:本文为博主原创文章,遵循 CC 4.0 BY-SA 版权协议,转载请附上原文出处链接和本声明。
用户1148526
2019/10/22
6.2K1
MySQL七:一文详解六大日志
「mysql数据库中日志是重要组成部分,记录着数据库运行期间各种状态信息」。主要有6类:
云扬四海
2022/09/26
1.5K0
Mysql 学习 --- innodb存储引擎
1.MySQL数据库区别于其他数据库的最重要的一个特点就是其插件式的表存储引擎。MySQL插件式的存储引擎架构提供了一系列标准的管理和服务支持,这些标准与存储引擎本身无关,可能是每个数据库系统本身都必需的,如SQL分析器和优化器等,而存储引擎是底层物理结构的实现,每个存储引擎开发者可以按照自己的意愿来进行开发。
用户4158112
2020/11/19
9500
【我在拉勾训练营学技术】Mysql 架构原理
mysql 数据库作为现在互联网企业首选的数据库,我们程序员就应该对它多一些了解,我在拉勾训练营学到第五阶段啦,了解了mysql 整体架构,记录下来。
程序员爱酸奶
2021/03/21
5730
MySQL五:InnoDB线程模型
在Innodb存储引擎中,后台线程的主要作用是「负责刷新内存池中的数据,保证缓冲池中的内存缓存的是最近的数据」。此外它会将已经修改的数据文件刷新到磁盘文件中,保证在发生异常的情况下,Innodb能够恢复到正常的运行状态。
云扬四海
2022/09/26
4890
MySQL 存储引擎 - InnoDB 实现原理介绍
内存结构主要包括 Buffer Pool、Change Buffer、Adaptive Hash Index和 Log Buffer 四大组件
一个会写诗的程序员
2023/03/08
1.2K1
MySQL 存储引擎 - InnoDB 实现原理介绍
MySQL意外查不到数据,真相令人惊掉下巴
前几天,我的朋友小明同学火急火燎地找到我,说有个表刚导入了几千万数据,却怎么也查不到数据,很是抓狂,让我给看看。
田帅萌
2019/07/05
1.6K0
Mysql配置文件 innodb引擎(上)
这个是Innodb最重要的参数,主要作用是缓存innodb表的索引,数据,插入数据时的缓冲,默认值为128M。
陈不成i
2021/06/11
3.2K0
MySQL innodb引擎的事务执行过程
总结以上的三个问题,其实就是关于MySQL innodb事务的流程;那么接下来,我将详细总结下一一一:MySQL innodb的事务流程:
星哥玩云
2022/08/16
9690
相关推荐
深入理解MySQL事务日志-Undo Log
更多 >
领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档
本文部分代码块支持一键运行,欢迎体验
本文部分代码块支持一键运行,欢迎体验