zhmg23

我们是如此的不同

RHEL7上安装docker-ce及修改默认存储路径、devicemapper大小

1、安装docker-ce

首先删除较旧版本的docker(如果有):

yum remove docker docker-common docker-selinux docker-engine-selinux docker-engine docker-ce

下一步安装需要的软件包:

yum install -y yum-utils device-mapper-persistent-data lvm2

配置docker-ce repo:

yum-config-manager --add-repo https://download.docker.com/linux/centos/docker-ce.repo

最后安装docker-ce:

yum install docker-ce

注:安装完成后,Server Version: 18.06.0-ce


2、修改默认存储位置



docker安装完成后,默认是存储在/var/lib/docker下的,我们把这个目录,拷贝到/data下,然后建立软连接

# systemctl  stop  docker.service

# cd /var/lib

# cp -r  /var/lib/docker  /data/

# ln -s /data/docker  docker

# systemctl  start docker.service

在查看默认目录存储,已经在/data/docker下了



3、修改devicemapper默认大小

devicemapper是RHEL下Docker Engine的默认存储驱动,它有两种配置模式:loop-lvm和direct-lvm

docker 启动一个容器后默认根分区大小为10GB

# docker info  |grep Base

Base Device Size: 10.74GB

现在要修改默认大小为50G(其中30G也行,本次为测试)

修改方法:

编辑/lib/systemd/system/docker.service

在ExecStart=/usr/bin/dockerd 后,加入如下参数

 --storage-opt dm.basesize=50G --storage-opt dm.loopdatasize=1024G --storage-opt dm.loopmetadatasize=10G --storage-opt dm.fs=xfs



dm.basesize 默认为10G,限制容器和镜像的大小

dm.loopdatasize 存储池大小,默认为100G

dm.loopmetadatasize 元数据大小,默认为2G

dm.datadev 存储池设备,默认生成一个/var/lib/docker/devicemapper/devicemapper/data文件

dm.metadatadev 元数据设备,默认生成一个/var/lib/docker/devicemapper/devicemapper/metadata文件

dm.fs 文件系统

注:生产环境调整,注意备份数据

修改完成后,启动docker,然后查看


到此,修改完成。

docker官方建议,生产环境上不要使用loop-lvm,而应该使用direct-lvm,有关他们的对比可以参加redhat的说明。

https://developers.redhat.com/blog/2014/09/30/overview-storage-scalability-docker/


评论(1)