Docker 扩容 容器空间大小 - 九

Docker 扩容:

提前规划 :
一是从宿主机 配置磁盘格式 LVM 宿主机可以动态扩展;
二是 在容器上的扩容;默认是 100G 。然后创建容器时候 挂载目录 或者直接池扩展;

默认 Docker 安装位置;

/var/lib/docker 

docker 默认容器目录;

/var/lib/docker/containers/

# docker info  

查看默认配置信息;

# docker info
...
Server Version: 1.12.6   # 服务器版本:1.12.6 Storage Driver: devicemapper # 存储驱动程序:devicemapper Pool Name: docker-8:3-2097465-pool # 池名称:docker-83-2097465-pool Pool Blocksize: 65.54 kB   # Pool Blocksize:65.54 kB Base Device Size: 107.4 GB # 基本设备大小:107.4 GB Backing Filesystem: ext4   # 支持文件系统:ext4 Data file: /dev/loop0   # 数据文件:/ dev / loop0 Metadata file: /dev/loop1 # 元数据文件:/ dev / loop1 Data Space Used: 5.352 GB # 使用的数据空间:5.352 GB Data Space Total: 107.4 GB # 数据空间总计:107.4 GB Data Space Available: 10.04 GB # 可用数据空间:10.04 GB Metadata Space Used: 7.229 MB # 使用的元数据空间:7.229 MB Metadata Space Total: 2.147 GB # 元数据空间总计:2.147 GB Metadata Space Available: 2.14 GB # 可用元数据空间:2.14 GB Thin Pool Minimum Free Space: 10.74 GB # 精简池最小可用空间:10.74 GB Udev Sync Supported: true   # Udev Sync支持:true Deferred Removal Enabled: true   # 延迟删除已启用:true Deferred Deletion Enabled: true   # 延迟删除已启用:true Deferred Deleted Device Count: 0   # 延迟删除的设备数:0 Data loop file: /var/lib/docker/devicemapper/devicemapper/data # 数据循环文件:/ var / lib / docker / devicemapper / devicemapper / data WARNING: Usage of loopback devices is strongly discouraged for production use. Use `--storage-opt dm.thinpooldev` to specify a custom block storage device. # 警告:强烈建议不要使用环回设备进行生产。使用`--storage-opt dm.thinpooldev`指定自定义块存储设备。 Metadata loop file: /var/lib/docker/devicemapper/devicemapper/metadata # 元数据循环文件:/ var / lib / docker / devicemapper / devicemapper / metadata Library Version: 1.02.107-RHEL7 (2015-10-14) 版本:1.02.107-RHEL7(2015-10-14) Logging Driver: journald # 日志驱动程序:journald Cgroup Driver: systemd # Cgroup驱动程序:systemd Plugins:   # 插件: Volume: local # 存储卷:本地 Network: bridge host null overlay # 网络:桥接主机空覆盖 Swarm: inactive # Swarm:不活跃 Runtimes: docker-runc runc # 运行时:docker-runc runc Default Runtime: docker-runc # 默认运行时:docker-runc Security Options: seccomp # 安全选项:seccomp Kernel Version: 3.10.0-327.el7.x86_64 # 内核版本:3.10.0-327.el7.x86_64 Operating System: CentOS Linux 7 (Core) # 操作系统:CentOS Linux 7(核心) OSType: linux # 系统类别:linux
...

所以在 docker1.12 以上版本默认提供了两种方式:

一是在 docker 启动时候 加载参数--storage-opt dm.basesize=100G 用来调整默认容器的rootfs大小;
二是在创建容器的时候使用参数--storage-opt size=70G来设置改容器的rootfs大小。

类似 :
--storage-opt dm.basesize=30G

# 查询 容器大小;

1、可以进入到容器查看;
# du -sh 
2、也可以远程执行查看: # docker exec
-it d517c9a9cbd3b106ac9912f1fb5f0453a1dd1055f4a1b77d6ba52fa7205ea705 df -h

查看容器卷的 信息;

NAMES 容器 必须是运行UP状态;

# docker inspect -f '{{ .GraphDriver.Data.DeviceName }}' NAMES

查看容器卷的大小;
# docker inspect -f '{{ .GraphDriver.Data.DeviceName }}' centos2
docker-8:3-2097465-662957949c3d3c51f679c1200d2bf94446fa1096e386546e8623a9fe210ab2c7

容器存储卷信息;

# dmsetup table

容器分区格式一定是  ext4
容器引擎一定要是  devicemapper

计算 容器大小命令;

示例 : 30G 
计数公式为:30*1024*1024*1024/512

或者:
echo $((30*1024*1024*1024/512))

Docker 容器默认存储卷目录:

/dev/mapper

修改容器大小:

扩容更改扇区大小:
echo 0 88080384 thin 253:7 11 | dmsetup load docker-8:3-2097465-662957949c3d3c51f679c1200d2bf94446fa1096e386546e8623a9fe210ab2c7 dmsetup resume docker-8:3-2097465-662957949c3d3c51f679c1200d2bf94446fa1096e386546e8623a9fe210ab2c7
启动容器 格式化添加池; docker start centos2

重新定义大小: resize2fs
/dev/mapper/docker-8:3-2097465-662957949c3d3c51f679c1200d2bf94446fa1096e386546e8623a9fe210ab2c7 或 xfs_growfs /dev/mapper/docker-8:3-2097465-662957949c3d3c51f679c1200d2bf94446fa1096e386546e8623a9fe210ab2c7
注 resize2fs ext2
/ext3/ext4 文件格式 xfs_growfs xfs 文件格式

猜你喜欢

转载自www.cnblogs.com/sharesdk/p/10144739.html