侧边栏壁纸
博主头像
落叶人生博主等级

走进秋风,寻找秋天的落叶

  • 累计撰写 130562 篇文章
  • 累计创建 28 个标签
  • 累计收到 9 条评论
标签搜索

目 录CONTENT

文章目录

docker镜像超过10G带来的问题

2023-11-01 星期三 / 0 评论 / 0 点赞 / 59 阅读 / 3507 字

项目一个tar包,很大,10多个g,这个docker镜像导出的时候,会报:no space left on devi 一般报这个错的原因有三个,1,分区本身不够;2,碎片文件太多,分区够,但是inod

项目一个tar包,很大,10多个g,这个docker镜像导出的时候,会报:no space left on devi

一般报这个错的原因有三个,1,分区本身不够;2,碎片文件太多,分区够,但是inode占满了;3,就是docker本身容器的限制。

首先看第一个问题,

[root@localhost home]# df -h文件系统                 容量  已用  可用 已用% 挂载点/dev/mapper/centos-root   50G   27G   24G   54% /devtmpfs                 911M     0  911M    0% /devtmpfs                    921M     0  921M    0% /dev/shmtmpfs                    921M   90M  831M   10% /runtmpfs                    921M     0  921M    0% /sys/fs/cgroup/dev/mapper/centos-home  148G   11G  137G    8% /home/dev/sda1                497M  124M  373M   25% /boottmpfs                    185M     0  185M    0% /run/user/1004tmpfs                    185M     0  185M    0% /run/user/992tmpfs                    185M     0  185M    0% /run/user/996tmpfs                    185M     0  185M    0% /run/user/0

根分区本身是够的,

第二个问题:

[root@localhost home]# df -ih文件系统                Inode 已用(I) 可用(I) 已用(I)% 挂载点/dev/mapper/centos-root   50M    328K     50M       1% /devtmpfs                 228K     348    228K       1% /devtmpfs                    231K       1    231K       1% /dev/shmtmpfs                    231K     572    230K       1% /runtmpfs                    231K      13    231K       1% /sys/fs/cgroup/dev/mapper/centos-home  148M      33    148M       1% /home/dev/sda1                500K     330    500K       1% /boottmpfs                    231K       1    231K       1% /run/user/1004tmpfs                    231K       1    231K       1% /run/user/992tmpfs                    231K       1    231K       1% /run/user/996tmpfs                    231K       1    231K       1% /run/user/0

inode的使用很低,本身也没问题,最后查看docker的信息:

[root@localhost home]# docker infoContainers: 0 Running: 0 Paused: 0 Stopped: 0Images: 0Server Version: 1.12.6Storage Driver: devicemapper Pool Name: docker-253:0-67125080-pool Pool Blocksize: 65.54 kB Base Device Size: 10.74 GB#这个就是限制,容器根分区的大小! Backing Filesystem: xfs Data file: /dev/loop0 Metadata file: /dev/loop1 Data Space Used: 11.8 MB Data Space Total: 107.4 GB Data Space Available: 36.95 GB Metadata Space Used: 581.6 kB Metadata Space Total: 2.147 GB Metadata Space Available: 2.147 GB Thin Pool Minimum Free Space: 10.74 GB Udev Sync Supported: true Deferred Removal Enabled: false Deferred Deletion Enabled: false Deferred Deleted Device Count: 0 

docker的版本是1.12,修改容器根分区的大小即可:

  dm.loopdatasize=100G是指存放数据的数据库空间为100g,默认是100g
dm.loopmetadatasize=10G是存放Metadata数据空间为10g,默认是2g
dm.fs=xft是指容器磁盘分区为xft
dm.basesize=20G是指容器根分区默认为20g,默认是10g

vi /etc/sysconfig/docker-storage修改下面参数即可DOCKER_STORAGE_OPTIONS="--storage-driver devicemapper --storage-opt dm.loopdatasize=100G --storage-opt dm.loopmetadatasize=10G --storage-opt dm.fs=xfs --storage-opt dm.basesize=20G"

最后重启容器,问题解决

广告 广告

评论区