zoukankan      html  css  js  c++  java
  • 如何给容器服务的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标签的容器

  • 相关阅读:
    .NET Core使用RabbitMQ
    微信openid和unionid区别
    .Net Core 中GC的工作原理
    .Net Core服务监控报警指标上报Prometheus+Grafana
    .Net Core基础的健康检查
    了解数据库的四种隔离级别
    IdentityServer使用ssl证书生成token
    IdentityServer客户端授权模式
    IdentityServer用户名密码模式
    IdentityServer4学习笔记汇总(实现传送门在底部)
  • 原文地址:https://www.cnblogs.com/liuyansheng/p/6114208.html
Copyright © 2011-2022 走看看