标签:dev UNC tab -o update mkf 删除文件 daemon 目录
前提:RHEL或CentOS 使用新的docker存储驱动(overlay or overlay2),需要升级系统内核版本到3.10.0-514以上版本。梳理步骤如下:
3.10.0-514以上版本
uname -r
3.10.0-514.++++.x86_64
sudo yum upgrade --assumeyes --tolerant
sudo yum update --assumeyes
lsmod | grep overlay
如果返回为空,需要配置模块加载
sudo tee /etc/modules-load.d/overlay.conf <<-‘EOF‘
overlay
EOF
reboot
lsmod | grep overlay
overlay
强烈建议另外准备一块磁盘或者分区,加参数 -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
lsblk -a -f
NAME FSTYPE LABEL UUID MOUNTPOINT
├─sdg4
├─sdg5 xfs 71165973-9e3f-4d8e-9a4e-2c00c0e70efa
more /etc/fstab
UUID=71165973-9e3f-4d8e-9a4e-2c00c0e70efa /var/lib/docker xfs defaults 0 0
mount -a
lsblk
├─sdg5 8:101 0 200G 0 part /var/lib/docker
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"
]
}
systemctl daemon-reload
systemctl start docker
systemctl enable docker
$ docker info
Containers: 0
Images: 0
Storage Driver: overlay2
Backing Filesystem: xfs
Supports d_type: true <<===重点确认
Native Overlay Diff: true
<output truncated>
如果在不支持 d_typ 的 overlay/overlay 驱动下使用docker,也就意味着 docker 在操作文件的时候,可能会遇到一些错误,比如 无法删除某些目录或文件,设置文件或目录的权限或用户失败等等。这些都是不可预料的错误。举个具体的场景,就是,docker构建的时候,可能在构建过程中,删除文件等操作失败,导致构建停止。
标签:dev UNC tab -o update mkf 删除文件 daemon 目录
原文地址:https://blog.51cto.com/michaelkang/2399880