docker默认单个容器可以使用数据空间大小10GB,docker可用数据总空间100GB,元数据可用总空间2GB。用docker info信息可以查看Data Space Total、Metadata Space Total等信息:

[root@docker-01 sysconfig]# docker info
Containers: 23
Images: 45
Storage Driver: devicemapper
 Pool Name: docker-8:36-13501344-pool
 Pool Blocksize: 65.54 kB
 Data file: /var/lib/docker/devicemapper/devicemapper/data
 Metadata file: /var/lib/docker/devicemapper/devicemapper/metadata
 Data Space Used: 1.684 GB
 Data Space Total: 107.4 GB
 Metadata Space Used: 2.699 MB
 Metadata Space Total: 2.147 GB
 Library Version: 1.02.89-RHEL6 (2014-09-01)
Execution Driver: native-0.2
Kernel Version: 2.6.32-504.el6.x86_64
Operating System: <unknown>
CPUs: 24
Total Memory: 47.09 GiB
Name: docker-01
ID: S3F6:VR2L:WH7X:QLQO:RH6P:EVBT:QRUW:NNMV:4MQ7:YADK:Q6OV:Q2IQ
[root@docker-01 sysconfig]#

占用本地文件系统空间大小如下(data存放的是image和container数据,metadata存放的是tag、name、status等基本信息):

[root@docker-01 ~]# ll /var/lib/docker/devicemapper/devicemapper/ -h
total 35G
-rw------- 1 root root 100G Jun  5 13:43 data
-rw------- 1 root root 2.0G Jun  5 13:43 metadata
[root@docker-01 ~]#

可以使用df -hT查看容器可以使用的空间大小,下面的大约是10GB(同一数据块,不同文件系统大小存在差异)

[root@docker-01 ~]# docker exec zhijie df -hT
Filesystem           Type    Size  Used Avail Use% Mounted on
rootfs               rootfs  9.8G  1.8G  7.5G  20% /
/dev/mapper/docker-8:3-61079671-9623cd0329b8e2a093cae0911ce6dabe515397391252ed410d6dd9b5c06da77f
                     ext4    9.8G  1.8G  7.5G  20% /
tmpfs                tmpfs    24G     0   24G   0% /dev
shm                  tmpfs    64M     0   64M   0% /dev/shm
/dev/sda3            ext4    1.1T  228G  800G  23% /etc/resolv.conf
/dev/sda3            ext4    1.1T  228G  800G  23% /etc/hostname
/dev/sda3            ext4    1.1T  228G  800G  23% /etc/hosts
[root@docker-01 ~]#

当一个容器的数据空间大于10GB后,那么这个容器将不能写入新的数据文件。如果容器需要很大的数据空间,可以使用数据卷挂在到宿主机或存储上。当容器太多使用数据卷挂载方式后,所有容器使用的数据空间已经大于100GB,这时将不能新建或运行容器。如何突破这种限制,这篇文章给出了解答:https://github.com/docker/docker/tree/master/daemon/graphdriver/devmapper
分两种情况讨论:
1、如果docker第一次启动,在启动docker前,可以使用参数–storage-opt分别指定dm.basesize、dm.loopdatasize、dm.loopmetadatasize等项,指定单个容器可用数据空间、docker可用数据空间、元数据可用数据空间。以centos6.6为例(修改配置文件/etc/sysconfig/docker):

[root@docker-02 ~]# cat /etc/sysconfig/docker
# /etc/sysconfig/docker
#
# Other arguments to pass to the docker daemon process
# These will be parsed by the sysv initscript and appended
# to the arguments list passed to docker -d
 
other_args="--storage-opt dm.basesize=20G --storage-opt dm.loopdatasize=200G --storage-opt dm.loopmetadatasize=4G -H tcp://127.0.0.1:2345 -H unix:///var/run/docker.sock"
DOCKER_CERT_PATH=/etc/docker
 
# Location used for temporary files, such as those created by
# # docker load and build operations. Default is /var/lib/docker/tmp
# # Can be overriden by setting the following environment variable.
# # DOCKER_TMPDIR=/var/tmp
[root@docker-02 ~]#

分别指定单个容器可用数据空间20GB、docker可用数据空间200GB、元数据可用空间4GB。然后启动docker,用docker info可以查看配置已生效:

2、如果是正在运行的docker,需要导出镜像docker commit、docker push、docker save等操作,然后停止docker服务,删除docker的数据文件(centos6.6是rm -rf /var/lib/docker/)。再修改docker的配置文件/etc/sysconfig/docker,重启docker服务生效。最后导入备份的镜像启动容器。
文章出处:http://www.xiaomastack.com/2015/06/05/docker-storage/

Docker 存储设置的更多相关文章

  1. Docker存储驱动之总览

    简介 本文会介绍Docker存储驱动的特性,别列出现在已经支持的存储驱动,最后,会介绍如果选型适合你的存储驱动. 可插拔的存储驱动架构 Docker的存储驱动架构是可插拔的,可以让你很方便的将适合你环 ...

  2. Docker存储

    前言 上一篇文章中简单总结了一下docke的基础使用方法,这次我来总结一下有关docker存储方面的相关知识.本文同样建立在CloudMan的系列教程之上,有兴趣的可以直接移步. 有些人可能觉得这个很 ...

  3. Docker系列05—Docker 存储卷详解

    本文收录在容器技术学习系列文章总目录 1.存储卷介绍 1.1 背景 (1)docker 的 AFUS 分层文件系统 docker镜像由多个只读层叠加面成,启动容器时,docker会加载只读镜像层并在镜 ...

  4. 6、Docker存储卷

    Why Data Volumes?  来自马哥教育 Data volumes Volume types  绑定挂载卷:在宿主机和容器上各指明绑定路径才能进行绑定. docker管理卷:在容器内指定挂载 ...

  5. Docker存储卷(V18.X)

    简介 介绍 Docker的存储卷称之为volume,本质上容器上的一个或者多个目录,而这些目录绕过了联合文件系统,与宿主机中的目录或者其他容器目录进行了绑定关系,这种绑定关系可以看作Linux的mou ...

  6. docker存储与网络

    目录 Docker存储 挂载主机目录 创建一个数据卷 挂载一个宿主机目录作为数据卷 数据卷容器 创建一个数据卷容器 利用数据卷容器迁移数据 删除数据盘 Docker网络 简介 bridge网络 bri ...

  7. Docker存储方式选型建议

    转自:https://segmentfault.com/a/1190000007168476 第一部分 问题诊断 事情从一次实施项目说起,我们需要帮助客户将他们的应用容器化并在数人云平台上发布此应用. ...

  8. Docker存储卷

    六.Docker 存储卷(volume) COW:写时复制 Bind mount volume:手动mount绑定的卷 # docker run --name centos-3 -it -v /dat ...

  9. Docker 存储引擎

      可插拔存储引擎架构   这种可插拔式的存储架构.可以让你很灵活的去选择适合自己环境的存储引擎. 每个存储引擎都是以Linux 文件系统为基础的.此外,每个存储引擎都以自己的方式自由的管理image ...

随机推荐

  1. js 连接地址分析

    html的连接地址 <a href="/yzh/mobile/index.php?m=default&c=user&a=order_list&cla=dfk&q ...

  2. zencart分类页产品页去掉url中的id号

    最近公司新上的网站被seo指出要修改url,去掉url中产品id.由于我们用的是zencart框架,装了 Ultimate SEO URLs 插件,所以在网上应该有这方面的资料,本文主要参考资料: 原 ...

  3. verilog阻塞与非阻塞的初步理解(三)

    下面这段源码是因为习惯不好,出现不正确波形的例子. module pwm_division(reset,clkin,clkout); input reset,clkin; output clkout; ...

  4. webapp中fixed问题解决方案

    主要问题: 1,头部输入框固定后,只要再滑动内容的话,输入框会随着滑动内容而滑动. 2,在低端机:2.3以下的安卓机,你会发现怎么解决都不行的,系统浏览器是不会支持的,头部底部固定的话会滑动内容而滑动 ...

  5. 东京区域2012-2014主要消费产品价格参考表——Excel

    声明: 1.本表格数据取自<日本の統計 2016>: 2.本表所有价格单位为人民币,其日元均以当年平均汇率兑换为此人民币价格: 3.其人民币—日元年均汇率数据取自IMF Data Exch ...

  6. Swift编程语言资料合集

    在本周二凌晨召开的苹果年度开发者大会WWDC上,苹果公司推出了全新的编程语言Swift.Swift 基于C和Objective-C,是供iOS和OS X应用编程的全新语言,更加高效.现代.安全,可以提 ...

  7. PHP基础之 继承(一)

    ========================================= *                 继承 extends *============================ ...

  8. I’ve seen the world,lit it up as my stage now

    I've seen the world,lit it up as my stage now 阅尽繁华 点亮红尘做舞台 Channeling angels in,the new age now 粉末登场 ...

  9. 什么是H标签?H1,H2,H3标签?以及和strong标签使用的方法及重要性

    大家都知道,seo的一个很重要的一点就是要把网站做的条理清晰,让搜索引擎很容易的读明白,这个条理清晰不仅体现在网站的物理路径,url等地 方.在<h1><h2><h3&g ...

  10. 在Xcode6.4中使用OpenCV

    XCode版本6.4,OpenCV版本3.0.0 昨天我安装完OpenCV之后,兴奋地按照这篇文章Mac平台上OpenCV开发环境搭建的步骤,在XCode上建了一个Demo工程,结果编译一直不成功.一 ...