zoukankan      html  css  js  c++  java
  • docker数据目录迁移

    场景介绍

     最近公司的项目出现无响应的问题,排查后发现是磁盘已满导致的,df -h 显示已占用达到了100%。幸好服务器还有一块数据盘,之前已作为mysql的数据目录,现在打算再把docker也迁移至数据盘。
     在这里和大家分享下经历,难免会有些许错误,请各位看官不吝赐教。

    方案介绍

     考虑了下,决定采用软连接的方式解决,好处是能保证docker原有配置的情况下将数据目录迁移至数据盘,不修改配置文件也意味着降低误操作的概率。更好的是相比于直接挂载磁盘方案,一个数据盘可以为多个应用服务,管理十分方便,而且实际操作只需几条命令即可。
     理论上任何软件的数据迁移都可以用软连接的方式解决。在这之前的mysql也是使用软连接解决的。

    方案实施

     默认情况下Docker的存放位置为:/var/lib/docker
    可以通过下面命令查看具体位置:

    docker info | grep "Docker Root Dir"
    1. 首先停掉Docker服务:
    systemctl stop docker 
    1. 然后根据上面查到的路径,移动整个/var/lib/docker目录到数据盘的目的路径:
    mv /var/lib/docker /home/docker

     必须使用mv命令,cp会丢失权限信息,可能会导致意想不到的bug。
    3. 加入软连接

    ln -s /home/docker /var/lib/docker

     先看下/home/docker下的目录,确定挂载成功在启动docker,即使挂载有问题,无碍,也可停止停止docker后重新操作
    4. 启动docker

    systemctl start docker 

     这时候启动Docker时发现存储目录依旧是/var/lib/docker,但是实际上是存储在数据盘的。

  • 相关阅读:
    软件工程第一次结对作业
    软件工程第二次作业
    vue之vuex
    ceshi
    第3次 结构与部分
    第二次作业
    获得领跑衫感言
    期末总结
    第十四,十五周作业
    第七周作业
  • 原文地址:https://www.cnblogs.com/dancesir/p/14266539.html
Copyright © 2011-2022 走看看