docker容器磁盘扩容

一、配置文件里更改容器创建时的默认磁盘大小

[root@ip---- ~]# cat /etc/sysconfig/docker-storage
DOCKER_STORAGE_OPTIONS="--storage-opt dm.loopdatasize=2000G -storage-opt dm.loopmetadatasize=10G --storage-opt dm.fs=ext4 --storage-opt dm.basesize=20G"
参数:
dm.loopdatasize=2000G是指存放数据的数据库空间为2t,默认是100g
dm.loopmetadatasize=10G是存放Metadata数据空间为10g,默认是2g
dm.fs=ext4是指容器磁盘分区为ext4
dm.basesize=20G是指容器根分区默认为20g,默认是10g

新版本dm字段有了改变:

DOCKER_STORAGE_OPTIONS="--storage-driver devicemapper --storage-opt dm.loopdatasize=2000G --storage-opt dm.loopmetadatasize=10G --storage-opt dm.fs=ext4 --storage-opt dm.basesize=20G"

二、容器的动态扩容脚本

#!/bin/bash
#This script is dynamic modify docker container disk
#Author dong liu
if [ -z $ ] || [ -z $ ]; then
echo "Usage: container_name increase_capacity"
echo "Example: I want increase 11G to test"
echo "The command is: sh `basename $0` test 11"
exit
fi
if [ `docker inspect $ &>>/dev/null && echo || echo ` -eq ];then
echo "The container $1 is no exist!"
exit
fi
container_id=`docker inspect -f '{{ .Id }}' $`
now_disk=`dmsetup table /dev/mapper/docker-*-$container_id|awk '{print $2}'`
disk=$(($***/))
if [ $disk -lt $now_disk ];then
echo "I can't shink container $1 from $(($now_disk*512/1024/1024/1024))G to ${2}G!I only modify contanier increase disk!"
exit
fi
dmsetup table /dev/mapper/docker-*-$container_id|sed "s/0 [0-9]* thin/0 $disk thin/"|dmsetup load /dev/mapper/docker-*-$container_id
dmsetup resume /dev/mapper/docker-*-$container_id
resize2fs /dev/mapper/docker-*-$container_id
if [ $? -eq ];then
echo "dynamic container $1 disk to ${2}G is success!"
else
echo "dynamic container $1 disk to ${2}G is fail!"
Fi

docker容器磁盘的更多相关文章

  1. docker容器存放目录磁盘空间满了,转移数据修改Docker默认存储位置

    原文:docker容器存放目录磁盘空间满了,转移数据修改Docker默认存储位置 版权声明:本文为博主原创文章,未经博主允许不得转载. https://blog.csdn.net/qq_3767485 ...

  2. docker 容器大小查看及清理docker磁盘空间

    本文为博主原创,转载请注明出处: 今天打开服务器下载文件时,发现服务器内存不足,并开始清理服务器内存,排查及清理方法如下: 1. 查看服务器内存大小: df -h            通过 df - ...

  3. 解决docker容器日志导致主机磁盘空间满了的情况

    日志文件在   /var/lib/docker/containers/<docker_container_id>/   目录下 查看日志大小 vim /opt/docker_log_siz ...

  4. 理解Docker(4):Docker 容器使用 cgroups 限制资源使用

    本系列文章将介绍Docker的有关知识: (1)Docker 安装及基本用法 (2)Docker 镜像 (3)Docker 容器的隔离性 - 使用 Linux namespace 隔离容器的运行环境 ...

  5. docker 源码分析 五(基于1.8.2版本),Docker容器的创建

    前面讲到了docker容器得镜像,镜像其实是docker容器的静态部分,而docker容器则是docker镜像的动态部分,即启动了一个进程来运行,本篇最要来分析一下怎样创建并运行一个容器. 创建一个容 ...

  6. 使用 Device Mapper来改变Docker容器的大小

    作者:Jérôme Petazzoni ( Docker 布道师) 译者:Mark Shao ( EMC 中国高级工程师) 如果在 CentOS . REHL . Fedor 或者其他默认没有 AUF ...

  7. 给一个正在运行的Docker容器动态添加Volume

    给一个正在运行的Docker容器动态添加Volume本文转自:http://dockone.io/article/149 [编者的话]之前有人问我Docker容器启动之后还能否再挂载卷,考虑到mnt命 ...

  8. 【原创】Docker容器及Spring Boot微服务应用

    Docker容器及Spring Boot微服务应用 1 什么是Docker 1.1 Docker的出现 问题一:项目实施环境复杂问题 传统项目实施过程中经常会出现“程序在我这跑得好好的,在你那怎么就不 ...

  9. docker容器安全

    title: docker容器安全 tags: Docker,容器,安全策略 grammar_cjkRuby: true --- Docker容器的安全性 1.安全策略-Cgroup 1.限制Cpu ...

随机推荐

  1. javascript 高级编程系列 - 创建对象

    1. 工厂模式 function createPerson(name, age) { var obj = {}; obj.name = name; obj.age = age; obj.getName ...

  2. [笔记] sed and awk

    / awk程序的典型示例是将数据转换成格式化的报表,当数据拥有某种结构时就能最好的体现awk的好处:可以使用awk脚本对数据的列重新排序,甚至可以将列变成行以及将行变成列:awk的功能将文本编辑的思想 ...

  3. JavaScript语言基础9

    我们先看看以下这段代码: <span style="font-size:18px;"><HTML> <HEAD> <TITLE>He ...

  4. Mataplotlib事例操作

    刚开始需要的文件是和前边的两个连载一起的

  5. vs2015终于配置完成了

    安装vs2015,本来应该直接安装vs2015withupdate3的,但是由于当时手上只有vs2015的包,于是直接安装了. 打开C++工程cntk的时候提示需要安装很多东西包括vc编译工具.pyt ...

  6. 九度OJ 1093:WERTYU (翻译)

    时间限制:1 秒 内存限制:32 兆 特殊判题:否 提交:1563 解决:609 题目描述: A common typing error is to place the hands on the ke ...

  7. python exception的传递

    try: block except1: except2: ... 如果block中出现了except,那么会先取匹配except1,如果匹配了,进行处理,程序继续执行. 如果except1没有匹配上, ...

  8. Collection of Boot Sector Formats for ISO 9660 Images

    http://bazaar.launchpad.net/~libburnia-team/libisofs/scdbackup/view/head:/doc/boot_sectors.txt Colle ...

  9. 工作室成员 GitHub 地址集中贴(按发布时间先后排序)

    金质行 https://github.com/jinxiaohang/ 金林超 https://github.com/jinlinchao/ 王贤国 https://github.com/ErhuoH ...

  10. Boost 库编译总结

    1. 下载boost库源码,解压缩. 2. 打开vs2010 工具栏tools 下的visual studio command prompt,运行源码目录下的bootstrap.bat,生成bjam. ...