docker修改容器和鏡像大小
參考 https://blog.csdn.net/weixin_34279579/article/details/92170119
1 容器在運行一段時間的時候會突然無法寫入數據,報錯
docker no space left on device
2 加上某哥們搞了個鏡像16G ,死活導入不了。
Google之,發現原來是Base Device Size的問題,其默認值是10G,而容器經過一段時間的運行寫入文件量早已超過10G,就造成無法寫入數據的問題了。
- dm.basesize 默認為10G,限制容器和鏡像的大小
- dm.loopdatasize 存儲池大小,默認為100G
- dm.loopmetadatasize 元數據大小,默認為2G
我的docker安裝 docker(4):docker的安裝(centos7)和加速
# docker info Client: Debug Mode: false Server: Containers: 164 Running: 88 Paused: 0 Stopped: 76 Images: 180 Server Version: 18.09.8 Storage Driver: devicemapper Pool Name: docker-253:1-838868736-pool Pool Blocksize: 65.54kB Base Device Size: 10.74GB Backing Filesystem: xfs Udev Sync Supported: true Data file: /dev/loop0 Metadata file: /dev/loop1 Data loop file: /var/lib/docker/devicemapper/devicemapper/data Metadata loop file: /var/lib/docker/devicemapper/devicemapper/metadata Data Space Used: 31.58GB Data Space Total: 107.4GB Data Space Available: 66.25GB Metadata Space Used: 58.82MB Metadata Space Total: 2.147GB Metadata Space Available: 2.089GB Thin Pool Minimum Free Space: 10.74GB ...
- 調整docker服務端啟動參數
# vim /usr/lib/systemd/system/docker.service [root@k8s-master ~]# grep "ExecStart=" /usr/lib/systemd/system/docker.service ExecStart=/usr/bin/dockerd -H fd:// --containerd=/run/containerd/containerd.sock -s=devicemapper --storage-opt dm.basesize=60G --storage-opt dm.loopmetadatasize=20G
- 重啟docker
systemctl daemon-reload
systemctl restart docker
- 查看調整
# ps -ef | grep docker|grep /usr/bin/dockerd|grep -v grep root 31409 1 4 12:14 ? 00:00:11 /usr/bin/dockerd -H fd:// --containerd=/run/containerd/containerd.sock -s=devicemapper --storage-opt dm.basesize=60G --storage-opt dm.loopmetadatasize=20G
# docker info
.... Storage Driver: devicemapper Pool Name: docker-253:1-503320265-pool Pool Blocksize: 65.54kB Base Device Size: 64.42GB Backing Filesystem: xfs Udev Sync Supported: true Data file: /dev/loop0 Metadata file: /dev/loop1 Data loop file: /var/lib/docker/devicemapper/devicemapper/data Metadata loop file: /var/lib/docker/devicemapper/devicemapper/metadata Data Space Used: 2.064GB Data Space Total: 107.4GB Data Space Available: 29.91GB Metadata Space Used: 22.07MB Metadata Space Total: 17.05GB Metadata Space Available: 17.02GB Thin Pool Minimum Free Space: 10.74GB ....