docker 无法启动报错:overlayfs does not support、overlayfs not found

1 报错问题

docker 无法启动,系统日志报错的关键片段如下:

bash 复制代码
... "devmapper not configured"...
..."failed to load plugin io.containerd.snapshotter.v1.overlayfs" error="/home/docker/containerd/daemon/io.containerd.snapshotter.v1.overlayfs does not support d_type. If the backing filesystem is xfs, please reformat with ftype=1 to enable d_type support"...
..."snapshotter.v1.zfs must be a zfs filesystem to be used with the zfs snapshotter
snapshotter \"overlayfs\" not found: not found"...

2 报错解析

如果你的 docker 数据目录是 xfs格式分区,需要指定 ftype=1 或者 d_type=true,如果在未使用ftype=1的方式格式化的OverlayFS文件系统上使用,docker可能出现未知问题。

3 排查解决

3.1 检查你的磁盘分区格式

bash 复制代码
 df -T /home/docker/containerd/daemon/io.containerd.snapshotter.v1.overlayfs
文件系统                类型     1K-块     已用      可用 已用% 挂载点
/dev/mapper/centos-home xfs  477466844 56014448 421452396   12% /home

我的 docker 数据目录在 /home/docker ,所以查看 /home/docker/containerd/daemon/io.containerd.snapshotter.v1.overlayfs ,此路径也是报错信息中 提示的,你也可以直接查看 /home;

可见,我的 docker 数据目录所在磁盘分区格式就是 xfs;

3.2 检查 ftype 是否为 1

bash 复制代码
xfs_info /dev/mapper/centos-home 
meta-data=/dev/mapper/centos-home isize=256    agcount=4, agsize=29856256 blks
         =                       sectsz=512   attr=2, projid32bit=1
         =                       crc=0        finobt=0
data     =                       bsize=4096   blocks=119425024, imaxpct=25
         =                       sunit=0      swidth=0 blks
naming   =version 2              bsize=4096   ascii-ci=0 ftype=0
log      =internal               bsize=4096   blocks=58313, version=2
         =                       sectsz=512   sunit=0 blks, lazy-count=1
realtime =none                   extsz=4096   blocks=0, rtextents=0

/dev/mapper/centos-home 路径就是我的 home 挂载的目录,也是 df -T 命令查看到的路径

可以看到 查到的信息中,倒数第四行 ftype=0,所以我需要将其改为 1

3.3 修改 ftype 为 1

将ftype 改为 1 ,需要格式化磁盘分区,现将 /home 目录的文件备份到其它目录一定要备份!

bash 复制代码
#备份完后,先卸载分区
umount /home
#格式化
mkfs.xfs -f -n ftype=1 /home
#格式化完成后再次挂载
mount -a

操作完成,可以重新安装 docker 进行测试。

相关推荐
bugtraq202135 分钟前
XiaoMi Mi5(gemini) 刷入Ubuntu Touch 16.04——安卓手机刷入Linux
linux·运维·ubuntu
xmweisi41 分钟前
【华为】报文统计的技术NetStream
运维·服务器·网络·华为认证
VVVVWeiYee1 小时前
BGP配置华为——路径优选验证
运维·网络·华为·信息与通信
陆鳐LuLu1 小时前
日志管理利器:基于 ELK 的日志收集、存储与可视化实战
运维·elk·jenkins
土豆沒加1 小时前
K8S的Dashboard登录及验证
云原生·容器·kubernetes
DC_BLOG1 小时前
Linux-GlusterFS进阶分布式卷
linux·运维·服务器·分布式
cookies_s_s2 小时前
Linux--进程(进程虚拟地址空间、页表、进程控制、实现简易shell)
linux·运维·服务器·数据结构·c++·算法·哈希算法
终端行者3 小时前
kubernetes1.28部署mysql5.7主从同步,使用Nfs制作持久卷存储,适用于centos7/9操作系统,
数据库·容器·kubernetes
zhouwu_linux3 小时前
MT7628基于原厂的SDK包, 修改ra1网卡的MAC方法。
linux·运维·macos
2401_897930063 小时前
linux系统如何配置host.docker.internal
linux·docker·eureka