扩容容器

默认来说,如果你使用 Device Mapper 的存储插件,所有的镜像和容器是从一个初始 10G 的文件系统中创建的。让我们来看看如何从一个更大的文件系统中创建一个容器。
首先,我们用 Ubuntu 的镜像来创建我们的容器。我们不需要在这个容器里运行任何东西,只需要这个文件(或者关联的文件系统)存在。为了演示,我们会在这个容器里运行 df ,来看一下根文件系统的大小。
$ docker run -d ubuntu df -h / 4ab0bdde0a0dd663d35993e401055ee0a66c63892ba960680b3386938bda3603
由于需要修改 Device Mapper 管理中的一些卷的信息,我们现在用 root 的身份来运行一些命令。所有以#开头的命令都必须以 root 身份来执行。只要能访问 Docker 的 Socket 服务,你也可以用普通用户的身份来执行其他的命令(以$开头)。
让我们看一下 /dev/mapper ,那里应该有一个对应容器文件系统的符号链接,以 docker-X:Y-Z- 开头:
# ls -l /dev/mapper/docker-*-4ab0bdde0a0dd663d35993e401055ee0a66c63892ba960680b3386938bda3603 lrwxrwxrwx 1 root root 7 Jan 31 21:04 /dev/mapper/docker-0:37-1471009-4ab0bdde0a0dd663d35993e401055ee0a66c63892ba960680b3386938bda3603 -> ../dm-8
注意记住那个全名,我们未来会用到。
开始扩容:
1、首先让我们来看一下当前卷的信息表:
# dmsetup table docker-0:37-1471009-4ab0bdde0a0dd663d35993e401055ee0a66c63892ba960680b3386938bda3603 0 20971520 thin 254:0 7
第二个数字是设备的大小,表示有多少个 512-bytes 的扇区. 这个值略高于 10GB 的大小。
2、我们来计算一下一个 42GB 的卷需要多少扇区,
$ echo $((42*1024*1024*1024/512)) 88080384
精简快照目标的一个神奇的特点是它不会限制卷的大小。当你创建它的时候,一个精简的卷使用0个块,当你开始往块里面写入的时候,它们会从共用的块池中进行分配。你可以写0个块,或者是10亿个块,这个和精简快照目标没关系。文件系统的大小只和 Device Mapper 表有关系。
觉得困惑?不要担心。我们只是需要装载一个新的表,这个完全和之前的是一样的,但是有更多的扇区。仅此而已。
3、旧表是 0 20971520 thin 254:0 7 。我们会改变第二个数字,要非常小心保持其他的值不变。你的卷可能不是 7 ,所以要使用正确的值!
这样操作:
复制代码 代码如下:
# echo 0 88080384 thin 254:0 7 | dmsetup load docker-0:37-1471009-4ab0bdde0a0dd663d35993e401055ee0a66c63892ba960680b3386938bda3603
4、现在如果我们再次检查表的信息,步骤和前面一样。首先使用下面的命令激活新表:
复制代码 代码如下:
# dmsetup resume docker-0:37-1471009-4ab0bdde0a0dd663d35993e401055ee0a66c63892ba960680b3386938bda3603
执行完命令后,再次检查一下表的信息,发现它会使用新的扇区数量。
5、我们已经调整了块设备的大小,但是我们仍然需要调整文件系统的大小,我们使用 xfs_growfs 来操作:
(网上很多说到的resize2fs后来看到xfs方式的使用dumpe2fs,该命令在16.04下可能出现文件正在使用或者找不到超级块的错误,)
复制代码 代码如下:
# xfs_growfs docker-0:37-1471009-4ab0bdde0a0dd663d35993e401055ee0a66c63892ba960680b3386938bda3603
docker动态容器扩容成功。
6、停止该容器后,无法重新启动
当容器扩容之后,由于dm认为设备块大小仍然为之前设置的初始大小,所以会发生无法起启动的情况,这时只要重新操作即可。
$ docker start test#必须要先启动一下,让其生成dm文件才能修改 #此时会报错,不要理会,执行以下操作即可 $ echo 0 41943040 thin 252:0 9 | dmsetup load docker-253:1-131179-a835d492b6864a13eb11eddd17c3cabf5226f20bc01fbfe90964d80112a0df69 $ dmsetup resume docker-253:1-131179-a835d492b6864a13eb11eddd17c3cabf5226f20bc01fbfe90964d80112a0df69
这是一bug
以上就是本文的全部内容,希望对大家的学习有所帮助,也希望大家多多支持。
# docker容器动态扩容
# docker
# 容器扩容
# 动态扩容
# Docker 技巧之删除Docker容器和镜像
# Docker容器通过独立IP暴露给局域网的方法
# Docker容器中运行nginx
# 详解Docker 容器互联方法
# 详解docker容器间通信的一种方法
# Docker定制容器镜像的2种方法(推荐)
# docker容器跨服务器的迁移的方法
# 使用Grafana 展示Docker容器的监控图表并设置邮件报警规则(图解)
# Docker 中的容器完全解析
# 文件系统
# 让我们
# 扇区
# 当你
# 其他的
# 第二个
# 镜像
# 这是
# 如果你
# 容器里
# 在这个
# 你可以
# 不需要
# 你也
# 找不到
# 可以用
# 更大
# 会在
# 说到
# 是从
相关文章:
建站之星伪静态规则如何设置?
企业在线网站设计制作流程,想建设一个属于自己的企业网站,该如何去做?
网站制作软件有哪些,制图软件有哪些?
威客平台建站流程解析:高效搭建教程与设计优化方案
阿里云网站制作公司,阿里云快速搭建网站好用吗?
焦点电影公司作品,电影焦点结局是什么?
常州企业网站制作公司,全国继续教育网怎么登录?
公众号网站制作网页,微信公众号怎么制作?
网站制作费用多少钱,一个网站的运营,需要哪些费用?
简单实现Android验证码
建站之星后台管理系统如何操作?
矢量图网站制作软件,用千图网的一张矢量图做公司app首页,该网站并未说明版权等问题,这样做算不算侵权?应该如何解决?
建站之星如何优化SEO以实现高效排名?
如何制作一个表白网站视频,关于勇敢表白的小标题?
专业制作网站的公司哪家好,建立一个公司网站的费用.有哪些部分,分别要多少钱?
建站之星安装提示数据库无法连接如何解决?
网站制作壁纸教程视频,电脑壁纸网站?
如何快速重置建站主机并恢复默认配置?
招商网站制作流程,网站招商广告语?
如何选择PHP开源工具快速搭建网站?
昆明高端网站制作公司,昆明公租房申请网上登录入口?
如何快速查询网站的真实建站时间?
大连 网站制作,大连天途有线官网?
php8.4新语法match怎么用_php8.4match表达式替代switch【方法】
建站之家VIP精选网站模板与SEO优化教程整合指南
做企业网站制作流程,企业网站制作基本流程有哪些?
济南企业网站制作公司,济南社保单位网上缴费步骤?
建站之星导航如何优化提升用户体验?
c++如何打印函数堆栈信息_c++ backtrace函数与符号名解析【方法】
建站主机SSH密钥生成步骤及常见问题解答?
建站之星CMS建站配置指南:模板选择与SEO优化技巧
打鱼网站制作软件,波克捕鱼官方号怎么注册?
如何在服务器上配置二级域名建站?
建站之星后台密码遗忘或太弱?如何重置与强化?
如何使用Golang table-driven基准测试_多组数据测量函数效率
如何确保西部建站助手FTP传输的安全性?
c# Task.Yield 的作用是什么 它和Task.Delay(1)有区别吗
网站制作的方法有哪些,如何将自己制作的网站发布到网上?
如何在阿里云ECS服务器部署织梦CMS网站?
高端建站如何打造兼具美学与转化的品牌官网?
成都网站制作报价公司,成都工业用气开户费用?
如何用PHP快速搭建高效网站?分步指南
如何通过可视化优化提升建站效果?
建站之星如何取消后台验证码生成?
家具网站制作软件,家具厂怎么跑业务?
如何用花生壳三步快速搭建专属网站?
C++ static_cast和dynamic_cast区别_C++静态转换与动态类型安全转换
网站插件制作软件免费下载,网页视频怎么下到本地插件?
建站之星免费版是否永久可用?
如何配置支付宝与微信支付功能?
*请认真填写需求信息,我们会在24小时内与您取得联系。