将容器的卷空间值扩容(不要求扩容文件系统),然后查看容器的卷空间值。
首先创建一个容器
[root@server ~]# docker run -itd --name=xiandian1 192.168.200.104:5000/centos:latest
5492ae63f2169c23b27a18b2c678a1497d81aed93622764bd5466d16924a6220
查看它的卷空间文件路径
[root@server ~]# docker exec -it xiandian1 df -Th
Filesystem Type Size Used Avail Use% Mounted on
/dev/mapper/docker-253:1-343933121-1c93bc91efd4189d6d617fa830e6bfe1d40a856a22b1907527a88b757883eae1 xfs 10G 250M 9.8G 3% /
tmpfs tmpfs 2.0G 0 2.0G 0% /dev
tmpfs tmpfs 2.0G 0 2.0G 0% /sys/fs/cgroup
/dev/vda1 xfs 100G 18G 83G 18% /etc/hosts
shm tmpfs 64M 0 64M 0% /dev/shm
tmpfs tmpfs 2.0G 0 2.0G 0% /proc/scsi
先查看原卷空间值
[root@server ~]# dmsetup table /dev/mapper/docker-253:1-343933121-1c93bc91efd4189d6d617fa830e6bfe1d40a856a22b1907527a88b757883eae1
0 20971520 thin 252:0 229
其中第二个数字(即20971520)是设备大小,表示有多少个512-bytes 的扇区)
假设将卷空间扩容到20G,先计算20G所需扇区数目
[root@server ~]# echo $((20*1024*1024*1024/512))
41943040
将新扇区大小写入
[root@server ~]# echo 0 41943040 thin 252:0 229 |dmsetup load /dev/mapper/docker-253:1-343933121-1c93bc91efd4189d6d617fa830e6bfe1d40a856a22b1907527a88b757883eae1
将修改后的容器储存文件激活
[root@server ~]# dmsetup resume /dev/mapper/docker-253:1-343933121-1c93bc91efd4189d6d617fa830e6bfe1d40a856a22b1907527a88b757883eae1
重新查看卷空间值
[root@server ~]# dmsetup table /dev/mapper/docker-253:1-343933121-1c93bc91efd4189d6d617fa830e6bfe1d40a856a22b1907527a88b757883eae1
0 41943040 thin 252:0 229
一般到这里就可以了,如果立即要用最好重新挂载,再进行文件系统同步
[root@server ~]# mount /dev/mapper/docker-253:1-343933121-1c93bc91efd4189d6d617fa830e6bfe1d40a856a22b1907527a88b757883eae1 /root/
[root@server ~]# xfs_growfs /dev/mapper/docker-253:1-343933121-1c93bc91efd4189d6d617fa830e6bfe1d40a856a22b1907527a88b757883eae1
meta-data=/dev/mapper/docker-253:1-343933121-336e3a5018e5ca8e60bee497b6b66f382a449a0fe2b83faed55272c7250bf274 isize=256 agcount=16, agsize=163824 blks
= sectsz=512 attr=2, projid32bit=1
= crc=0 finobt=0
data = bsize=4096 blocks=2621184, imaxpct=25
= sunit=16 swidth=16 blks
naming =version 2 bsize=4096 ascii-ci=0 ftype=0
log =internal bsize=4096 blocks=2560, version=2
= sectsz=512 sunit=16 blks, lazy-count=1
realtime =none extsz=4096 blocks=0, rtextents=0
data blocks changed from 2621184 to 5242880
[root@server ~]# docker exec -it xiandian1 df -Th
Filesystem Type Size Used Avail Use% Mounted on
/dev/mapper/docker-253:1-343933121-1c93bc91efd4189d6d617fa830e6bfe1d40a856a22b1907527a88b757883eae1 xfs 20G 251M 20G 2% /
tmpfs tmpfs 2.0G 0 2.0G 0% /dev
tmpfs tmpfs 2.0G 0 2.0G 0% /sys/fs/cgroup
/dev/vda1 xfs 100G 18G 83G 18% /etc/hosts
shm tmpfs 64M 0 64M 0% /dev/shm
tmpfs tmpfs 2.0G 0 2.0G 0% /proc/scsi
最后的文件同步
resize2fs 针对文件系统ext2 ext3 ext4
xfs_growfs 针对文件系统xfs