最方便的docker数据目录迁移教程

文章目录

最方便的docker数据目录迁移教程

场景介绍

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

方案介绍

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

方案实施

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

docker info | grep "Docker Root Dir"
  1. 首先停掉Docker服务:
    systemctl stop docker 
    

  2. 然后根据上面查到的路径,移动整个/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,但是实际上是存储在数据盘的。

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值