如何给容器服务的Docker增加数据盘

如何给容器服务的Docker增加数据盘

摘要: 我们知道Docker的数据是通过联合文件系统的方式存储到磁盘上,当需要在机器上运行的容器或者镜像的数量不断增加时,有可能磁盘的大小不再满足需求,这个时候就需要给Docker的数据目录通过增加数据盘的方式进行扩容。

Docker 数据目录

Docker默认的容器和镜像数据存储的目录是在/var/lib/docker下面,可以通过du命令查看这个目录目前占用的磁盘的大小,例如:

# du -h --max-depth=0 /var/lib/docker
7.9G    /var/lib/docker

更换Docker的数据盘

因为很多Docker的镜像本身就挺大的,所以可能用不了几个镜像就会有很可观的一个磁盘占用,很容器就会导致磁盘空间不足,这个时候如何更换数据盘以满足再增加镜像或容器的需求,那就给Docker的数据目录增加块数据盘吧。

购买ECS数据盘,并挂载到需要扩容的机器上:

1. 通过ECS控制台购买需要的配置的云盘
2. 在ECS实例详情页->本实例磁盘->挂载磁盘中,选择刚才购买的磁盘,并记录挂载点/dev/xvd*或者/dev/vd*

登录到机器上,对刚才挂载的磁盘进行格式化:

1. 首先在机器上执行ls -l /dev/xvd*或者ls -l /dev/vd*看到和刚才记录的一致的磁盘id
2. 通过fdisk命令对磁盘进行分区,然后使用mkfs.ext4格式化磁盘,例如:

移动Docker的数据到新的磁盘:

1. 首先先停止Docker daemon,保证移动的时候数据完整,可以使用service docker stop命令停止
2. 先移动Docker的目录到一个备份的目录,例如:mv /var/lib/docker /var/lib/docker_data
3. 然后把新的格式化好的磁盘挂载到/var/lib/docker目录,例如:echo "/dev/xvdb1 /var/lib/docker ext4 defaults 0 0" >>/etc/fstab && mkdir /var/lib/docker && mount -a
4. 把之前备份的docker数据移动到新的磁盘上,例如:mv /var/lib/docker_data/* /var/lib/docker/

启动Docker daemon,并检查数据位置:

1. 启动Docker daemon,service docker start
2. 执行df看到/var/lib/docker挂载到了新的磁盘上

3. docker ps看到容器没有丢失,根据需要再启动需要启动的没有restart:always标签的容器

时间: 2024-10-13 01:51:07

如何给容器服务的Docker增加数据盘的相关文章

增加数据盘

在阿里云空间增加数据盘 1,先用fdisk -l 命令看看数据盘,查看是否已经增加 如果看到这个说明数据盘已经增加. 没有就执行 fdisk /dev/xvdb1  依次输入"n","p""1",两次回车,"wq",分区就开始了,很快就会完成. 2,格式化新增加的数据盘 mkfs.ext4 /dev/xvdb1 3,配置启动挂载 下面那行命令的"/mnt"就是你要把数据盘挂载到的文件夹,如果你想挂载到别的文

【资料整理】磁盘-增加数据盘parted

Linux系统手动格式化大于2TB数据盘操作指引 >>返回:Linux云服务器数据盘分区和格式化  1.使用fdisk –l命令,查看磁盘设备列表 fdisk –l Disk /dev/vdb: 4295.0 GB  2.使用parted工具,创建GPT分区 parted /dev/vdb (parted) mklabel gpt (parted) print (parted) mkpart primary 0 4295GB (parted) print (parted) quit 3.分区创

阿里云容器服务与 ASP.NET Core 的 Docker 部署:用 docker secrets 保存 appsettings.Production.json

这是我们使用阿里云容器服务基于 docker 容器部署 asp.net core 应用遇到的另一个问题 —— 如果将包含敏感信息的应用配置文件 appsettings.Production.json 传递给运行在容器中的 asp.net core 应用. Docker 针对这样的应用场景已经提供了解决方案 —— Docker Secrets,对应的 docker 命令是 docker secret .我们就用 docker secrets 解决了这个问题,在这篇随笔中分享一下. 首先在阿里云容器

品尝阿里云容器服务:初步尝试ASP.NET Core Web API站点的Docker自动化部署

部署场景是这样的,我们基于 ASP.NET Core 2.0 Preview 1 开发了一个用于管理缓存的 Web API ,想通过阿里云容器服务基于 Docker 部署为内网服务. 在这篇博文中分享一下经过实践验证的操作步骤: 一.创建与配置集群 1)首先创建一个 Swarm Mode 的集群(注意创建时不要选择“自动创建负载均衡”,因为我们部署的是内网服务,自动创建的是公网负载均衡,需要手动创建内网负载均衡并绑定到集群): 2)集群创建成功后,会在集群列表中显示下面的信息: 3)接着创建一个

Docker中无法停止或删除容器服务问题处理

前言 今天有开发同学给我反馈说有一个容器服务无法 stop.rm(docker rm -f)和 kill 等操作,也就是说这个容器服务无法终止- 操作步骤 (1)执行删除命令无法删除docker的目录: # ll /var/lib/docker/containers | grep caf8ef20f3c1 # cd /var/lib/docker/containers # rm -rf caf8ef20f3c1c78f03a5844ee23abc1d7e44246f242292040f1ef28

阿里容器服务-编排模板语法简价

容器服务支持Docker Compose编排模板来描述多容器应用. 作用: 用于描述一个完整的应用,该应用可由好多个服务组成.例如一个web,他是由nginx/httpd+php+mysql组成.甚至可以根据服务量启动两个甚至更多的容器. 能力: 容器服务支持通过编排模板文件,自动化地部署和管理一个容器应用.编排模板文件使用的标签兼容大部分 Docker Compose 1.5.x 到 1.7.x 版本实现的标签.有关具体兼容的标签,参见 标签说明.编排模板文件也支持 Compose V1 和

wdcp挂载数据盘为WWW以及之后出现的各种问题解决方法

昨天晚上突然有客户反映服务器访问不了,经检查后是因为磁盘满了! 购买阿里云的ECS选择linux系统的时候会赠送20G的系统盘,通常来讲自己用的话基本够了,但是我们作为网络公司,安装了一个WDCP后给多个客户使用,最后导致磁盘爆满,所以今天就增加了一个数据盘.在阿里云后台升级增加数据盘之后按照官方的教程挂载,挂载之前先将www目录更名为其他(比如wwwbak)后新建一个空的www目录,然后操作过程中奖第5步的 echo '/dev/xvdb1 /mnt ext3 defaults 0 0' >>

在阿里云容器服务上开发基于Docker的Spring Cloud微服务应用

本文为阿里云容器服务Spring Cloud应用开发系列文章的第一篇. 一.在阿里云容器服务上开发Spring Cloud微服务应用(本文) 二.部署Spring Cloud应用示例 三.服务发现 四.服务间通信与集成 五.服务智能路由 六.集中配置管理 七.高可用和容错 八.监控和日志 九.服务的部署和发布策略 微服务概述 单体应用通常指在一个程序中满足多个业务或技术领域的需求,不同的需求领域内化为模块.假定我们要开发一个Web应用,通常的MVC模式可以满足要求.针对不同领域有不少代码生成工具

[Docker]公有云容器服务进入2.0时代

公有云容器服务进入2.0时代 近来Google.Amazon接连发布基于容器(其实主要是Docker)的新业务. 2014.11.05 Google发布Google Container engine 2014.11.13 Amazon发布AWS Container Service 估计很快我们也将看到Azure的新容器服务发布了. 如果我们把之前IaaS公有云提供商的产品看做容器服务1.0, 这轮新发布的产品相当于2.0升级版. 在1.0中,各厂商引入API.CLI方式向用户提供在虚拟机中创建容