当您在CentOS上配置Overlay时遇到失败,可以尝试以下步骤来解决问题:
检查内核版本
确保您的CentOS系统内核版本支持Overlay2存储驱动。Overlay2需要内核版本3.10.0-514或以上。您可以使用以下命令检查内核版本:
uname -r
如果内核版本低于3.10.0-514,您需要升级内核。
升级内核
如果内核版本过低,您可以通过以下步骤升级内核:
- 启用ELRepo仓库:
sudo rpm --import https://www.elrepo.org/RPM-GPG-KEY-elrepo.org sudo rpm -Uvh http://www.elrepo.org/elrepo-release-7.0-2.el7.elrepo.noarch.rpm
- 安装最新的4.X内核:
sudo yum install kernel-ml-devel kernel-ml
- 更新GRUB2并重启系统:
grub2-set-default 0 reboot
配置Docker使用Overlay2
- 检查overlay模块是否加载:
lsmod | grep overlay
如果没有返回结果,需要手动加载overlay模块:
sudo tee /etc/modules-load.d/overlay.conf <然后重启系统:
reboot
- 配置Docker存储分区:
强烈建议另外准备一块磁盘或者分区,使用
-n ftype1
格式化为XFS格式,然后将/var/lib/docker
挂载上去。例如:mkfs.xfs -n ftype1 /dev/sdg5
- 修改Docker启动文件:
编辑
/etc/sysconfig/docker
或/etc/docker/daemon.json
文件,设置使用Overlay2存储驱动:# /etc/sysconfig/docker OPTIONS='--storage-driver=overlay2 --selinux-enabled --log-driver=journald --signature-verification=false'或者
{ "storage-driver": "overlay2", "storage-opts": [ "overlay2.override_kernel_check=true" ] }
- 添加开机启动:
systemctl daemon-reload systemctl start docker systemctl enable docker验证配置
完成上述步骤后,重新启动Docker服务并验证配置是否成功:
sudo systemctl restart docker docker info | grep -i storage如果您看到Overlay2相关的信息,说明配置成功。