• 微课视频
  • 平面设计
  • 电脑入门
  • 操作系统
  • 办公应用
  • 电脑硬件
  • 动画设计
  • 3D设计
  • 网页设计
  • CAD设计
  • 影音处理
  • 数据库
  • 程序设计
  • 认证考试
  • 信息管理
  • 程序设计
  • 信息安全
微课江湖
  • 网页制作
  • 数据库
  • 程序设计
  • 操作系统
  • CMS教程
  • 游戏攻略
  • 脚本语言
  • 平面设计
  • 软件教程
  • 网络安全
  • 电脑知识
  • 服务器
  • 微课视频
  • bios
  • 系统安装
  • 系统进程
  • Windows
  • LINUX
  • RedHat/Centos
  • Ubuntu/Debian
  • Fedora
  • Solaris
  • 麒麟系统
  • 红旗Linux
  • 苹果MAC
  • 注册表
  • 其它系统
您的位置:首页 > 操作系统 >其它系统 > 使用Device Mapper插件改变Docker容器大小的方法详解

使用Device Mapper插件改变Docker容器大小的方法详解

作者:feisky 字体:[增加 减小] 来源:互联网 时间:2017-05-12

feisky 通过本文向大家介绍了device mapper,global mapper,mapper,global mapper教程,pix4dmapper破解版等相关知识,希望对您有所帮助,也希望大家多多支持微课江湖
如果在 CentOS 、 REHL 、 Fedor 或者其他默认没有 AUFS 支持的 Linux 发行版上使用 Docker ,你可能需要用到 Device Mapper 的存储插件。将这个插件设置为默认,它会把你所有的容器存储到一个 100G 的简短文件中,并且限制每个容器最大为 10GB 。这篇文章将展示如何突破这个限制,并且把容器的存储移动到一个指定的分区或者 LVM 卷中。
 
它的工作原理

 
要真正理解我们要做的事情,首先来了解 Device Mapper 插件的工作原理。
 
它是基于 Device Mapper 的“精简目标”的特性。它实际上是目标块设备的快照,之所以被称为“精简”是因为它允许精简配置。精简配置意味着你有一个(希望很大)可用存储块的池,接着你可以从那个池中创建任意大小的块设备(虚拟磁盘,如有需要);在你实际读写后,这些存储块将会被标记为已使用(或者从池中拿走)。
 
这意味着你是可以超额使用这个池,比如在一个 100GB 的池里面创建几千个 10GB 的卷,甚至可能是一个 100TB 的卷在一个 1GB 的池里面。只要你的实际读写的块的容量不大于池的大小,你怎么做都 OK 。
 
除此之外,精简目标的方式是可以做快照的。这表明无论何时,你都可以创建一个存在的卷的浅拷贝。在用户看来,就像你有两个一样的卷,它们可以独立地各自修改。即使你做了一个完整的拷贝,除了在时间上它是瞬间发生的(即使是很大的卷),它们不会两次重复使用存储。额外的存储只有当其中任何一卷有变化的时候才会发生,然后精简目标会从池里面分配一个存储快。
 
从本质上来看,“精简目标”实际上使用了两个存储设备:一个(大)的是存储块池自己,还有一个小的存储了一些元数据。这些元数据中包括了卷、快照、以及每个卷的块或者快照同存储池中块的映射信息。
 
当 Docker 使用 Device Mapper 存储插件的时候,它会在 /var/lib/docker/devicemapper/devicemapper/data 和/var/lib/docker/devicemapper/devicemapper/metadata 下创建两个文件(如果它们不存在)来存储对应的存储池和相关的元数据。这非常方便,你不需要做任何安装部署的工作(你不需要额外的分区来存储 Docker 容器,或者建立 LVM 或其他类似的东西)。然而它也有两个缺点:
 
- 存储池会有一个默认 100GB 的容量
 
- 它将会被稀疏文件所支持。从磁盘的使用效率的观点来看,这还不错的(就像在精简池中的卷,它一开始是小的,只有当实际需要写的时候才会使用磁盘的存储块)。但是从性能的角度来看就不那么好了,因为 VFS 增加了一些额外的负担,特别是"第一次写的时候"。
 
在了解如何调整容器的大小之前,我们来试试看如何给池增加更多空间。
 
我们需要一个更大的池
 
警告 : 下面的操作会删除你所有的容器和镜像,确保你已经把之前的数据做了备份!
 
记住上面说过的,当数据和元类信息文件不存在的时候 Docker 会创建它们,所以解决方案非常简单:在启动它们之前,在 Docker 里创建这些文件!
 1.停止 Docker 守护进程,因为我们将要重新设置我们的存储插件,如果我们在运行的时候移除文件,那么糟糕的事情就将发生。
 
2.擦去 /var/lib/docker 。 警告:正如前面提到的,这个操作会把你所有的容器和镜像都删除掉。
 
3.创建存储目录:
分享到:QQ空间新浪微博腾讯微博微信百度贴吧QQ好友复制网址打印

您可能想查找下面的文章:

  • 使用Device Mapper插件改变Docker容器大小的方法详解

相关文章

  • 2017-05-12CMD命令行中cd命令使用方法
  • 2017-05-12Hyper-V虚拟机无法打开显示连连服务器/无效类怎么办?
  • 2017-05-12安装最新的XFCE桌面的教程
  • 2017-05-12在vmware中开放VNC端口的方法
  • 2017-05-12忘记 Suse 10.3 root 密码的解决办法
  • 2017-05-12访问网站跳转到WPKG怎么办?访问国外网站跳转到WPKG的临时解决办法
  • 2017-05-12如何检测u盘扩容盘?怎样检测U盘是否是缩水盘
  • 2017-05-12怎么压缩linux vmware虚拟机磁盘空间?
  • 2017-05-12一台OpenSuSE系统的服务器的网络配置
  • 2017-05-12openSUSE11.0的更新地址

文章分类

  • bios
  • 系统安装
  • 系统进程
  • Windows
  • LINUX
  • RedHat/Centos
  • Ubuntu/Debian
  • Fedora
  • Solaris
  • 麒麟系统
  • 红旗Linux
  • 苹果MAC
  • 注册表
  • 其它系统

最近更新的内容

    • 详解虚拟机中的NAT网络连接方式
    • 如何打造自己的pe呢?微软官方WinPE的制作流程
    • 了解NTFS文件夹访问权限和使用说明
    • 将Vmware的镜像格式转换为Virtualbox的镜像格式的方法
    • 如果不用windows系统还可以用什么桌面操作系统 桌面操作系统更换指南
    • 在vmware中开放VNC端口的方法
    • 使用guestfish来管理KVM容器的详细教程
    • WinPE光盘镜像制作方法
    • wp8.1 gdr2更新内容新变化视频演示
    • 国产系统将代替windows 消息称每年替换15%Windows操作系统

关于我们 - 联系我们 - 免责声明 - 网站地图 - 投诉建议

©CopyRight 2015-2017 www.weikejianghu.com Inc All Rights Reserved. 微课江湖 版权所有