RHEL或CentOS 使用新的docker存储驱动(overlay or overlay2),需要升级系统内核版本到3.10.0-514以上版本。梳理步骤如下:
强烈建议另外准备一块磁盘或者分区,加参数 -n ftype=1 格式化为 xfs 格式,然后将 /var/lib/docker 挂载上去:
XFS文件系统格式化时必须加 -n ftype=1参数:-n 不真正创建文件系统,只是显示创建的信息;ftype = value 允许inode类型存储在目录结构中,以便readdir,getdents不需要查找inode就可知道inode类型。默认为0,不存在目录结构中。
注意确认,格式化本地磁盘是否正确;
mkfs.xfs -f -n ftype=1 /dev/sdg5
more /etc/sysconfig/docker
# /etc/sysconfig/docker # Modify these options if you want to change the way the docker daemon runs OPTIONS='--storage-driver=overlay --selinux-enabled --log-driver=journald --signature-verification=false' if [ -z "${DOCKER_CERT_PATH}" ]; then DOCKER_CERT_PATH=/etc/docker fi或者
/etc/docker/daemon.json { "storage-driver": "overlay2", "storage-opts": [ "overlay2.override_kernel_check=true" ] }如果在不支持 d_typ 的 overlay/overlay 驱动下使用docker,也就意味着 docker 在操作文件的时候,可能会遇到一些错误,比如 无法删除某些目录或文件,设置文件或目录的权限或用户失败等等。这些都是不可预料的错误。举个具体的场景,就是,docker构建的时候,可能在构建过程中,删除文件等操作失败,导致构建停止。