Docker:CentOS/RHEL额外配置

CentOS/RHEL 的用户需要注意的事项

在 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 里的这个驱动达不到生产环境使用的稳定程度,所以不推荐使用。

来源:https://yeasy.gitbooks.io/docker_practice/image/rm.html

原文地址:https://www.cnblogs.com/lzyang121/p/10082201.html

时间: 2024-08-30 10:45:53

Docker:CentOS/RHEL额外配置的相关文章

CentOS的网络配置简析

我们在进行对CentOS的网络配置时,一般会从IP地址(IPADDR).子网掩码(NETMASK).网关(Gateway).主机名(HOSTNAME).DNS服务器等方面入手.而在CentOS中,又有着不同的命令或配置文件可以完成这些配置操作,接下来,我们将从ifcfg系命令,iproute2系命令以及配置文件3个方面来简析网络配置的方法. 一.ifcfg系命令 ifcfg系命令包括ifconfig,route,netstat和hostname. 1.ifconfig命令 用来配置一个网络接口.

CentOS安装与配置LNMP

本文PDF文档下载:http://www.coderblog.cn/doc/Install_and_config_LNMP_under_CentOS.pdf 本文EPUB文档下载:http://www.coderblog.cn/doc/Install_and_config_LNMP_under_CentOS.epub 原文链接:http://www.coderblog.cn/article/36/ CentOS安装与配置LNMP(1):Nginx安装与常用命令 Nginx是一个轻量级的HTTP服

Docker的安装,配置,更新和卸载

在Linux中开启Docker引擎 我们可以在Linux中安装Docker并运行Hello world应用程序.通过下面这些操作,我们将会学到更多有关于Docker的基础特征.我们将会学到如何: 安装Docker引擎 在一个容器中运行软件镜像 在Docker Hub中浏览一个镜像 创建你的镜像,并且在容器中运行它 创建一个Docker Hub账户和一个镜像库 创建你自己的镜像 将你的镜像放到Docker Hub中让其他人使用 该开始教程是用于减少用户碰到问题的可能性,为了能够测试成功,一定要遵循

如何在CentOS/RHEL上安装或升级新的内核版本

Linux内核版本 Linux内核版本分为主线.稳定和长期版本.(所有内核版本都可以在内核开发官方网站https://www.kernel.org上获取)目前我们看到最新的稳定内核版本为4.10.12. 主线版本代表整个Linux内核的一个树干,新的主线版本每2-3个月发布一次,所有的新功能及特性都将会包含主线版本中.稳定内核则是在主线版本中,被认为是"稳定的"得出.稳定内核的任何错误修复都将从主线树中返回,也就是主线内核出现的任何错误(包括之前的任何旧版本内核的错误和BUG)在得到修

CentOS rpm 额外包的源

在CentOS下,我们可以通过yum来下载或更新rpm包,但是标准的源(repository)里只提供一部分的rpm包,虽然大部分情况下,这些包是够用的. 但是有时候还是需要下载其他的一些非标准的包,如qemu,不然的话用户只能自己去编译对应的包,而这个可能并不是每个用户都乐意去做的. 下面的网站就提供了对应的额外包的安装. http://repoforge.org/ RepoForge项目给以下项目维护RPM包: Red Hat Enterprise Linux (RHEL) CentOS S

Let's Encrypt: 为CentOS/RHEL 7下的nginx安装https支持-具体案例

环境说明: centos 7 nginx 1.10.2 前期准备 软件安装 yum install -y epel-release yum install -y certbot 创建目录及链接 方法1:在网站根目录下创建一个.well-known的目录 方法2: mkdir -p /usr/local/nginx/cert/.well-known ln -s /usr/local/nginx/cert/.well-known /data/www/example.com/.well-known l

centos yum源配置 与yum配置文件

参考博客 http://www.cnblogs.com/mchina/archive/2013/01/04/2842275.html 1.centos . yum配置文件在目录 /etc/yum.repos.d目录下 yum主要是自动化的升级 安装 和卸载 rpm软件包 David Camp 博客园 首页 新随笔 联系 订阅 管理 随笔-115  文章-0  评论-667 CentOS yum 源的配置与使用 一.yum 简介 yum,是Yellow dog Updater, Modified

在CentOS/RHEL/Scientific Linux 6 & 7 上安装Telnet

在CentOS/RHEL/Scientific Linux 6 & 7 上安装Telnet 说明: 在安装和使用Telnet之前,需要记住以下几点. 在公网(WAN)中使用Telnet是非常不好的想法.它会以明文的格式传输登入数据.每个人都可以看到明文. 如果你还是需要Telnet,强烈建议你只在局域网内部使用. 你可以使用SSH作为替代方法.但是确保不要用root用户登录. Telnet定义: Telnet 是用于通过TCP/IP网络远程登录计算机的协议.一旦与远程计算机建立了连接,它就会成为

Docker CentOS release 7.2下的安装

Docker CentOS release 7.2下的安装 环境介绍: [[email protected] ~]# cat /etc/redhat-release  CentOS Linux release 7.2.1511 (Core)  [[email protected] ~]# uname -r 3.10.0-327.el7.x86_64 [[email protected] ~]# Docker的安装:如果网络条件良好的情况下,直接配置yum源,yum安装,也可以提前下载好rpm包进