一、内核版本过低不支持Overlay
yum --enablerepo=extras install kernel-latest安装最新内核);/etc/docker/daemon.json,添加"storage-driver": "overlay2"和"storage-opts": ["overlay2.override_kernel_check=true"];systemctl daemon-reload && systemctl start docker)。二、SELinux阻止Overlay操作
setenforce 0),若问题解决则调整策略;semanage fcontext添加SELinux上下文(如semanage fcontext -a -t httpd_sys_rw_content_t "/var/lib/docker(/.*)?"),并通过restorecon -Rv /var/lib/docker恢复上下文;/etc/selinux/config将SELINUX=enforcing改为SELINUX=permissive(需重启系统)。三、内核模块未加载
overlay内核模块,导致挂载Overlay文件系统时报错“mount: unknown filesystem type ‘overlay’”或“missing module overlay”。echo "overlay" | sudo tee /etc/modules-load.d/overlay.conf;modprobe overlay)。四、Docker存储驱动配置错误
/etc/docker/daemon.json配置错误(如缺少storage-driver字段、拼写错误),导致Docker无法使用Overlay2驱动(如“Cannot start service: error initializing graphdriver”)。/etc/docker/daemon.json,确保内容为:{"storage-driver": "overlay2", "storage-opts": ["overlay2.override_kernel_check=true"]}(若已有其他配置,需合并);systemctl daemon-reload && systemctl restart docker)。五、文件系统不支持或参数错误
ftype=1(Overlay2要求XFS的ftype=1);df -Th),若为XFS且ftype=0,需重新格式化(mkfs.xfs -n ftype=1 /dev/sdXY,注意:格式化会清除数据);rw,noatime,data=writeback),可通过/etc/fstab永久生效。六、挂载参数或路径错误
lowerdir、upperdir、workdir路径不存在或非绝对路径;overlay写成overaly)。ls -ld /path/to/lower /path/to/upper /path/to/work),并使用绝对路径;mount -t overlay overlay -o lowerdir=/lower,upperdir=/upper,workdir=/work /mnt/overlay;/etc/fstab中的挂载配置(若有),确保参数正确。七、磁盘空间不足
/var/lib/docker/overlay2目录占满(如容器镜像过多),导致无法创建新容器(报错“no space left on device”)。df -h检查磁盘空间,du -sh /var/lib/docker/overlay2/*定位大目录;docker rmi $(docker images -q -f "dangling=true"))、停止的容器(docker rm $(docker ps -aq));/var/lib/docker挂载到单独的大容量磁盘(如/dev/sdb1),修改/etc/fstab实现永久挂载。八、OverlayFS层数过多导致性能下降
docker build时逐层复制耗时久)。RUN命令(如将RUN apt-get update && apt-get install -y curl合并为一条);FROM多个阶段,仅复制必要文件到最终镜像);echo 128 > /proc/sys/fs/overlayfs/max_layers,临时生效;需写入/etc/sysctl.conf永久生效)。