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 进行测试。

相关推荐
程序员-Benothing3 小时前
Linux安全加固指南:账号、权限、服务、审计基线
linux·运维·安全
Mininglamp_27183 小时前
接口调用 vs 屏幕理解:两种 GUI 自动化架构的技术取舍
运维·架构·自动化
爱喝水的鱼丶5 小时前
SAP-ABAP:ECC→S/4HANA ABAP 迁移升级指南——程序改造、语法兼容与性能优化 导语
运维·开发语言·性能优化·sap·abap·经验交流·开发交流
木子欢儿5 小时前
openconnect Linux客户端安装 以及开机自启和登录
linux·运维·服务器
..Dauntless..6 小时前
【Linux】文件系统(一)
linux·运维·服务器
天空属于哈夫克36 小时前
企业微信API二次开发 赋能私域运营自动化
运维·自动化·企业微信
天远API7 小时前
零信任架构实战:基于天远运营商二要素V即时版构建自动化分时租赁出行会员身份一致性审核网关
运维·人工智能·架构·自动化
极光通讯7 小时前
液冷服务器对内存和SSD的适配要求:高密度部署下的散热与信号完整性
运维·服务器
2501_937767168 小时前
面向设计 / 研发部门:终端文件统一归档 + 服务器定时备份实践
运维·安全
程序员老赵8 小时前
Docker 部署 Hue:轻松搭建数据库与数据仓库 SQL 查询平台
sql·docker·开源