【原創】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

相關文章
相關標籤/搜索