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-8:3-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 文件格式
