Docker容器学习梳理-容器硬盘热扩容

docker容器默认的空间是10G,如果想指定默认容器的大小,可以在docker配置文件里自定义,比如配置成--storage-opt dm.basesize=20G,即容器设置成20G;也可以在启动容器的时候指定:
# docker -d --storage-opt dm.basesize=20G

在实际生产环境下,对docker容器进行热扩容(动态扩容)是非常重要的一个需求,但是上面的方法需要修改后需要重启docker,无法做到动态给运行容器指定大小。
Docker容器动态扩展的优点:
1)不需要修改docker配置,并且重启docker服务;
2)可以直接对运行中的容器进行动态扩展(只能增,无法缩);

Docker容器动态扩展的优点:
1)docker所在宿主机分区的格式必须是ext2、ext3、ext4;
2)docker存储引擎必须是devicemapper

---------------------------------------------------------------------------------
Docker Storage配置文件/etc/sysconfig/docker-storage,配置参数可以是:
DOCKER_STORAGE_OPTIONS="--storage-driver devicemapper --storage-opt dm.fs=xfs --storage-opt dm.basesize=20G --storage-opt dm.loopdatasize=200G"

部分参数解释:
dm.basesize    默认为10G,限制容器和镜像的大小
dm.loopdatasize   存储池大小,默认为100G(即所有容器加起来的最大空间)
dm.datadev 存储池设备,默认生成一个/var/lib/docker/devicemapper/devicemapper/data文件
dm.loopmetadatasize 元数据大小,默认为2G
dm.metadatadev 元数据设备,默认生成一个/var/lib/docker/devicemapper/devicemapper/metadata文件
dm.fs 文件系统,默认ext4
dm.blocksize blocksize默认64K
dm.blkdiscard 默认true
---------------------------------------------------------------------------------

下面说下在centos7下动态扩容docker容器的操作记录:  

时间: 2024-10-13 09:50:38

Docker容器学习梳理-容器硬盘热扩容的相关文章

Docker容器学习梳理--容器登陆方法梳理(attach、exec、nsenter)

对于运行在后台的Docker容器,我们运维人员时常是有登陆进去的需求.登陆Docker容器的方式: 1)使用ssh登陆容器.这种方法需要在容器中启动sshd,存在开销和攻击面增大的问题.同时也违反了Docker所倡导的一个容器一个进程的原则. 参考Docker容器学习梳理--SSH方式登陆容器 2)使用自带命令docker attach登陆容器.命令格式:docker attach container_id.不过docker attach存在的问题是:当多个窗口同时attach到同一个容器时,所

Docker容器学习梳理--容器间网络通信设置(Pipework和Open vSwitch)

自从Docker容器出现以来,容器的网络通信就一直是被关注的焦点,也是生产环境的迫切需求.容器的网络通信又可以分为两大方面:单主机容器上的相互通信,和跨主机的容器相互通信.下面将分别针对这两方面,对容器的通信原理进行简单的分析,帮助大家更好地使用docker.前面已经在Docker容器学习梳理--基础知识(2)这一篇中详细介绍了Docker的网络配置以及pipework工具. docker单主机容器通信 基于对net namespace的控制,docker可以为在容器创建隔离的网络环境,在隔离的

Docker容器学习梳理--小知识点补充

之前已经梳理了Docker的相关使用事项,这里再补充一些,以便加深掌握程度.1)docker run指令 [[email protected] ~]# docker run --help : docker run [OPTIONS] IMAGE [COMMAND] [ARG...] Run a command in a new container -a, --attach=[] Attach to STDIN, STDOUT or STDERR --add-host=[] Add a custo

Docker容器学习梳理-Dockerfile构建镜像

在Docker的运用中,从下载镜像,启动容器,在容器中输入命令来运行程序,这些命令都是手工一条条往里输入的,无法重复利用,而且效率很低.所以就需要一 种文件或脚本,我们把想执行的操作以命令的方式写入其中,然后让docker读取并分析.执行,那么重复构建.更新将变得很方便,所以Dockerfile就此诞生了.Docker提供了Dockerfile作为构建Docker镜像脚本,避免人们一行一行的输入,真是善莫大焉.Dockerfile脚本可以做到随时维护修改,即可以分享,更有利于在模板化,更不用说传

Docker入门学习2 ——容器基本操作

摘要:介绍Docker容器相关的操作命令. 知识点: run ps start attach exec top stop kill inspect rm logs images rmi pull push commit build 注:可以使用docker COMMAND --help来查看COMMAND的详细用法,本文只介绍常用的子集. 一.启动容器 启动之前未启动过的容器: docker run [-d] [-i] [-t] IMAGE [Command] [Arguments] · -d:

Docker容器学习梳理--私有仓库Registry使用

但有时候使用Docker Hub这样的公共仓库可能不方便,这种情况下用户可以使用registry创建一个本地仓库供私人使用,这点跟Maven的管理类似.使用私有仓库有许多优点: 1)节省网络带宽,针对于每个镜像不用每个人都去中央仓库上面去下载,只需要从私有仓库中下载即可: 2)提供镜像资源利用,针对于公司内部使用的镜像,推送到本地的私有仓库中,以供公司内部相关人员使用. 目前Docker Registry已经升级到了v2,最新版的Docker已不再支持v1.Registry v2使用Go语言编写

Docker容器学习梳理--手动制作系统镜像

docker官方和个人发布的镜像由于版本等各种原因,漏洞较多,已统计Docker Hub超过30%的官方镜像包含高危漏洞.此外,由于网络等原因也会造成docker pull下载镜像的速度很慢.基于这种情况,我们可以手动定制docker系统镜像. 以下记录了在centos7上做docker镜像的操作记录: 1)镜像制作脚本:mkimage-yum.sh 下载脚本地址:https://pan.baidu.com/s/1geTSQCN 提取密码:qsss 或者直接wget https://raw.gi

Docker容器学习梳理--web管理工具(1)

DockerUI优点:1)支持container批量操作:2)支持image管理(虽然比较薄弱) DockerUI缺点:不支持多主机. 下面记录在DockerUI管理环境的部署过程:1)首先拉去dockerUI镜像如下:[[email protected] ~]# docker pull uifd/ui-for-docker //之前镜像位置为dockerui/dockerui [[email protected] ~]# docker imagesREPOSITORY TAG IMAGE ID

Docker容器学习--1

Docker是PaaS 提供商 dotCloud 开源的一个基于 LXC 的高级容器引擎,源代码托管在 Github 上, 基于go语言并遵从Apache2.0协议开源.Docker是通过内核虚拟化技术(namespace以及cgroups等)来提供容器的资源隔离与安全保障.由于Docker通过操作系统层的虚拟化实现隔离,所以Docker容器在运行时,不需要类似虚拟机( VM)额外的操作系统开销,提高资源利用率. 特点 1.更高效的利用系统资源 2.更快速的启动时间 3.一致的运行环境 4.更轻