docker修改容器和镜像大小

  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,就造成无法写入数据的问题了。

  1. dm.basesize 默认为10G,限制容器和镜像的大小
  2. dm.loopdatasize 存储池大小,默认为100G
  3. 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 ....

 

posted on 2019-11-01 12:22  光阴8023  阅读(4084)  评论(0编辑  收藏  举报