在 CentOS 上,“overlay” 常见有 两种场景,我先分别说明,你看看你指的是哪一种:
CentOS 7/8 上 Docker 默认一般用 overlay2,如果你要手动配置或确认:
docker info | grep -i storage
lsmod | grep overlay
# 或
cat /proc/filesystems | grep overlay
如果没有:
modprobe overlay
编辑(或新建) /etc/docker/daemon.json:
{
"storage-driver": "overlay2"
}
然后重启 Docker:
systemctl restart docker
d_type:xfs_info /var/lib/docker | grep ftype
应为 ftype=1
如果你想手动把多个目录合并成一个目录(如只读层 + 可写层):
mkdir -p /lower /upper /work /merged
mount -t overlay overlay \
-o lowerdir=/lower,upperdir=/upper,workdir=/work \
/merged
说明:
lowerdir:只读层(可多个,用 : 分隔)upperdir:可写层workdir:必须为空,overlay 内部使用/merged:最终看到的统一目录写入 /etc/fstab:
overlay /merged overlay defaults,lowerdir=/lower,upperdir=/upper,workdir=/work 0 0
可以告诉我具体场景,我可以给你更精确的配置步骤。