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

相关推荐
Avan_菜菜1 天前
FRP 内网穿透完整实战:从 HTTP 映射到 HTTPS 自签代理
运维·nginx·https
程序员老赵1 天前
10 分钟部署 OpenCode:Docker 一键安装,浏览器打开就能用 AI 写代码(附完整命令与排错)
docker·容器·ai编程
WangMingHua1111 天前
LM Studio Docker 部署——本地大模型一键启动
docker
SelectDB2 天前
Litefuse 开源并推出单进程轻量模式,25 秒就能跑起来的 Agent 可观测与评估平台
运维·后端·自动化运维
曲幽2 天前
别再用网页翻译看源码了!你的私人翻译神器LibreTranslate,部署避坑指南来了
python·docker·web·pot·translate·libretranslate·arogstranslate
XIAOHEZIcode3 天前
Linux系统鼠标偏移常见原因以及修复方案
linux·运维·游戏
用户0328472220704 天前
如何搭建本地yum源(上)
运维
武子康4 天前
调查研究-183 Apple container:Mac 上用轻量 VM 跑 Linux 容器,Swift 会改写本地容器体验吗?
docker·容器·apple
大树887 天前
金刚石散热越强,管路越先见顶
大数据·运维·服务器·人工智能·ai
摇滚侠7 天前
Linux CentOS7 rpm 安装 MySQL 5.7
linux·运维·mysql