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

 


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM