Docker生产环境配置——设置direct-lvm模式
CentOS/RHEL 的用户需要注意的事项
来源:https://yeasy.gitbooks.io/docker_practice/image/rm.html
在 Ubuntu/Debian 上有 UnionFS
可以使用,如 aufs
或者 overlay2
,而 CentOS 和 RHEL 的内核中没有相关驱动。因此对于这类系统,一般使用 devicemapper
驱动利用 LVM 的一些机制来模拟分层存储。这样的做法除了性能比较差外,稳定性一般也不好,而且配置相对复杂。Docker 安装在 CentOS/RHEL 上后,会默认选择 devicemapper
,但是为了简化配置,其 devicemapper
是跑在一个稀疏文件模拟的块设备上,也被称为 loop-lvm
。这样的选择是因为不需要额外配置就可以运行 Docker,这是自动配置唯一能做到的事情。但是 loop-lvm
的做法非常不好,其稳定性、性能更差,无论是日志还是 docker info
中都会看到警告信息。官方文档有明确的文章讲解了如何配置块设备给 devicemapper
驱动做存储层的做法,这类做法也被称为配置 direct-lvm
。
除了前面说到的问题外,devicemapper
+ loop-lvm
还有一个缺陷,因为它是稀疏文件,所以它会不断增长。用户在使用过程中会注意到 /var/lib/docker/devicemapper/devicemapper/data
不断增长,而且无法控制。很多人会希望删除镜像或者可以解决这个问题,结果发现效果并不明显。原因就是这个稀疏文件的空间释放后基本不进行垃圾回收的问题。因此往往会出现即使删除了文件内容,空间却无法回收,随着使用这个稀疏文件一直在不断增长。
所以对于 CentOS/RHEL 的用户来说,在没有办法使用 UnionFS
的情况下,一定要配置 direct-lvm
给 devicemapper
,无论是为了性能、稳定性还是空间利用率。
或许有人注意到了 CentOS 7 中存在被 backports 回来的 overlay
驱动,不过 CentOS 里的这个驱动达不到生产环境使用的稳定程度,所以不推荐使用。
以下是配置direct-lvm模式的方法
https://docs.docker.com/storage/storagedriver/device-mapper-driver/#configure-loop-lvm-mode-for-testing
转载于:https://www.cnblogs.com/lzyang121/p/10082224.html
Docker生产环境配置——设置direct-lvm模式相关推荐
- Docker生产环境技术栈有哪些
导语 生产环境的Docker设置包括的内容有一些基本的架构组件,这些组件对于运行容器话服务器以及传统服务器集群都是通用的,在很多的时候可以简单认为构建和运行容器的方式与构建和运行虚拟机的方式是一样 ...
- vue3.0生产环境和正式环境配置_vue开发环境和生产环境配置
开发环境配置 一般情况下开发环境是会跨域的,所以我们只需要在跨域的位置配置即可.进入config/index.js,在proxyTable对象里面添加代码,如下: '/api': { target: ...
- React多页面应用5(webpack生产环境配置,包括压缩js代码,图片转码等)
本教程总共7篇,每日更新一篇,请关注我们!你可以进入历史消息查看以往文章,也敬请期待我们的新文章! 1.React多页面应用1(webpack开发环境搭建,包括Babel.热更新等) ----2017 ...
- Vue——10 - webpack打包保姆级教程01——打包js、json、css、less、html、背景图片以及图片、字体(Font)文件,devsever,生产环境配置以及css的兼容写法
目录 一.webpack打包JS文件 1.新建入口文件index.js和mathUtils.js,index.js是依赖于mathUtils.js 2.然后使用webpack命令打包js文件 二.打包 ...
- Docker+PHP环境配置和负载
提前先准备好一个干净的lnmp环境,一键安装lnmp:https://lnmp.org/auto.html 配置前先安装好docker 1.安装 yum包更新到最新:yum update 安装需要的软 ...
- Vue.config.js开发环境与生产环境配置
Vue.config.js开发环境与生产环境配置 首先在项目根目录创建 .env.development 开发环境 .env.production 生产环境 VUE_APP_SERVICE_URL V ...
- MongoDB认识与生产环境配置
MongoDB作为NoSql数据库中最关系型的,是解决传统关系型数据库在业务不断复杂,数据量逐渐变大的大数据解决方案之一. 本文主要以官网为参考主题,介绍在搭建生产环境时,可能有用的配置,接下来的一段 ...
- Flink 生产环境配置建议
flink-conf.yaml相关 ------------------------------------------------------------------------- checkpoi ...
- Debian 11 Linux生产环境配置(Git2.30.2 Python3.9.2 Golang1.18 Docker20.10.4 Nginx1.21.6)
0.说明 本文操作需要在服务器下进行,由于本人第一次配置Debian生产环境,本文内容仅供参考 本篇文章主要包含以下内容: ·安装python一些实用的软件包 ·配置Git ·安装Golang最新版本 ...
- Docker生产环境实践指南
技术栈: 1. 构建系统 2. 镜像仓库 3. 宿主机管理 4. 配置管理 5. 部署 6. 编排 7. 日志 8. 监控 镜像: 1. 如果用户像往常一样运行包安装命令,这些永远也用不上的缓存包文件 ...
最新文章
- c语言中void delay0.5(),单片机彩灯是怎样点亮
- I.MX6 WIFI wireless_tools 移植
- Timus 1049 Brave Balloonists
- 一键Ghost 脱机下载不再愁
- PyInstaller用法
- C++ 异常基本语法
- hdoj 3018 Ant Trip(无向图欧拉路||一笔画+并查集)
- 数据库写入性能测试小工具
- unix编程之文件锁,exit
- 使用Jquery开发适合自己的幻灯片组件
- SpringBoot非官方教程 | 第二十二篇: 创建含有多module的springboot工程
- 拓端tecdat|R语言stan进行基于贝叶斯推断的回归模型
- 病历管理系统V 1.0源码分享
- tcl语言读取文件一行_TCL语言笔记:TCL基础语法
- 数学模型--预测模型、BP神经网络预测
- 如何在CentOS 7上安装Yarn
- vue点击按钮跳转路由
- [Eigen]Eigen的单位矩阵C++
- 系统分析师-2021年下午简答题
- SLIC算法理解(仅为个人笔记)
热门文章
- 拓端tecdat|r语言ggplot2误差棒图快速指南
- mysql忘记root密码安装_MySql忘记root密码的解决方法
- Android-广播
- Eureka/Zookeeper/Consul三种注册中心的区别
- 基于pycrfsuite和sklearn_crfsuite的命名实体识别NER实战【以CoNLL2002数据集为基准】
- django实战——常见web攻击与防范
- 捕捉动物游戏java代码_Java Swing打猎射击游戏源码
- mysql php sdk_PHP连接MySQL数据库
- 领域搜索算法 是什么 和遗传算法、模拟退火算法、禁忌搜索算法、模糊优化 算法、微粒群算法关系
- DevOps使用教程 华为云(14)持续集成 流水线 自动化测试 怎么用