【原创】docker容器磁盘大小调整

先看一下docker info的内容docker

# docker info
Containers: 6
 Running: 6
 Paused: 0
 Stopped: 0
Images: 2
Server Version: 1.11.0
Storage Driver: devicemapper
 Pool Name: docker-253:0-1611278273-pool
 Pool Blocksize: 65.54 kB
 Base Device Size: 21.47 GB  -- 容器和镜像能使用的最大值,默认是10G
 Backing Filesystem: ext4  -- 容器磁盘格式,默认是docker服务所在机器的磁盘格式
 Data file: /dev/loop0
 Metadata file: /dev/loop1
 Data Space Used: 17.94 GB  -- docker使用的空间
 Data Space Total: 214.7 GB  -- docker最大能够使用的空间
 Data Space Available: 196.8 GB
 Metadata Space Used: 10.87 MB
 Metadata Space Total: 4.295 GB
 Metadata Space Available: 4.284 GB
 Udev Sync Supported: true
 Deferred Removal Enabled: false
 Deferred Deletion Enabled: false
 Deferred Deleted Device Count: 0
 Data loop file: /var/lib/docker/devicemapper/devicemapper/data
 Metadata loop file: /var/lib/docker/devicemapper/devicemapper/metadatasegmentfault

看完docker info描述,分析了一下我须要改的值有三处,容器的空间、容器的磁盘格式(个人机器磁盘格式是XFS,不支持resize2fs动态扩容,因此干脆也改了)、docker的空间。具体操做以下app

systemctl stop docker
rm -rf /var/lib/docker
docker daemon --storage-opt dm.basesize=20G --storage-opt dm.loopdatasize=200G --storage-opt dm.loopmetadatasize=4G --storage-opt dm.fs=ext4

须要强调的是rm -rf /var/lib/docker 会删掉全部docker容器、镜像,须要提早备份。且不作这一步操做的话,即便修改了配置,重启服务,也没法生效。oop

或者改配置,把上述那堆参数加到/usr/lib/systemd/system/docker.service的ExecStart=中code

关于动态扩容的方法参考https://segmentfault.com/a/1190000002931564io

相关文章
相关标签/搜索