侧边栏壁纸
博主头像
落叶人生博主等级

走进秋风,寻找秋天的落叶

  • 累计撰写 130562 篇文章
  • 累计创建 28 个标签
  • 累计收到 9 条评论
标签搜索

目 录CONTENT

文章目录

Docker更改为OverlayFS存储驱动

2023-12-02 星期六 / 0 评论 / 0 点赞 / 73 阅读 / 2496 字

docker有6种存储驱动方案,且都是写时复制机制aufs - unionfs类型,在文件层次上工作内存利用高效,仅有ubuntu支持overlay/overlay2 - unionfs类型,在文件层

docker有6种存储驱动方案,且都是写时复制机制

  • aufs - unionfs类型,在文件层次上工作内存利用高效,仅有ubuntu支持
  • overlay/overlay2 - unionfs类型,在文件层次上工作内存利用高效,但分层文件的写入会增长的比较大(需要较高Linux内核的支持)
  • devicemapper - 在block层次工作,分层文件写入效率较高
  • btrfs
  • zfs - 推荐在paas上工作
  • vfs - 仅用于调试

推荐的驱动方案选择

  • CentOs -> devicemapper
  • Ubuntu -> overlay

文件系统会在容器启动时创建,并为根文件系统提供挂载点

查看当前docker服务采用的存储方案

docker info | grep 'Storage Driver'

更改存储驱动为 OverlayFS
由于容器与宿主机共享内核,所以更改容器的存储驱动则需要更改宿主机的内核存储驱动来实现

# 先按需备份所有镜像# 关停docker服务sudo service docker stopsudo chkconfig docker off# 使用 `overlay` 存储方案之前确保内核 `>=3.18`,推荐 `>=	4.0`# 下面升级内核到最新版uname -r  # 查看内核版本sudo rpm --import https://www.elrepo.org/RPM-GPG-KEY-elrepo.org  # 导入keysudo rpm -Uvh http://www.elrepo.org/elrepo-release-7.0-2.el7.elrepo.noarch.rpm  # 安装centos7版本的el源sudo yum --disablerepo=* --enablerepo=elrepo-kernel install kernel-lt -y  # 安装升级内核到最新sudo grub2-set-default 0  # 将内核启动顺序设定到0(0号即为刚安装的内核)sudo rebootuname -r  # 再次查看内核版本# 设置overlay模块开机启动sudo cat > /etc/sysconfig/modules/overlay.modules <<EOF#!/bin/sh/sbin/modinfo -F filename overlay > /dev/null 2>&1if [ $? -eq 0 ]; then    /sbin/modprobe overlayfiEOFchmod 755 /etc/sysconfig/modules/overlay.modulesrebootsudo lsmod | grep overlay  # 确认overlay模块是否加载# 配置docker服务的存储驱动sudo rm -rf /var/lib/docker  # 删除docker根文件系统sudo sed 's|STORAGE_DRIVER=devicemapper|STORAGE_DRIVER=overlay|g' /usr/lib/docker-storage-setup/docker-storage-setup  # 更改存储驱动为overlay sudo docker-storage-setup  # 重建docker根文件系统# 重启docker服务sudo chkconfig docker onsudo service docker start

广告 广告

评论区