Docker数据目录迁移方法详解

 更新时间:2023年05月22日 11:40:33   作者:北漂燕郊杨哥  
这篇文章主要介绍了Docker数据目录迁移方法,Docker数据目录迁移成功后再也不用担心服务器系统盘目录被占满的情况的,本文给大家介绍的非常详细,需要的朋友可以参考下

Docker数据目录迁移

前言

服务器上安装的docker服务,数据默认存储在/var/lib/docker目录,由于该目录在系统盘,随时间时间的推移,docker占用的空间越来越大,最把系统盘挤用的只剩下的1G,很容易磁盘100%,想着把docker占用的目录迁移到非系统盘目录,想着就立即动手

一、停掉Docker服务?

systemctl stop docker

二、迁移docker数据到数据盘目

rsync -r -avz /var/lib/docker /data/docker/lib/

三、备份原数据目录

mv /var/lib/docker /var/lib/docker.old

四、添加软链接

ln -s /data/docker/lib/docker /var/lib/

五、重启docker服务

systemctl start docker

启动 Docker 之后,Docker 写入的路径依然是 /var/lib/docker ,但是因为软链接的设置,实际已经是往新的目录写入了。至此,完成了 Docker数据目录的迁移。

六、确认服务没有问题后,删除备份的目录

rm -rf /var/lib/docker.old

总结

Docker数据目录迁移成功后再也不用担心服务器系统盘目录被占满的情况的

Docker存储目录迁移的三种方式

Docker存储目录迁移

背景:

随着docker的使用时间越来越长,导致镜像和容器越来越多,占满了系统盘空间,这时,我们需要给它们搬个家了

下面咱们提供三种方式

docker info :查看docker的存储等相关信息

方式一 (推荐第一种)

1、停止docker 服务

service docker stop

2、备份数据到新的存放路径

cp -r /var/lib/docker/* /mnt/docker

3、备份 /var/lib/docker 路径

mv /var/lib/docker  /var/lib/dockerbak}

4、创建软连接

ln -s /mnt/docker /var/lib/docker

5、启动docker

service docker start

如果docker完整,并可用,可删除原来的备份文件

此方法,启动Docker时发现存储目录依旧是/var/lib/docker,但是实际上是存储在数据盘的,你可以在数据盘上看到容量变化。

方式二

关闭docker

在 Ubuntu 中的位置是:

/etc/default/docker

在 CentOS 中的位置是:

/etc/sysconfig/docker

在OPTIONS加上下面那段代码: --graph=/local/docker 新的存储目录

OPTIONS='--selinux-enabled --log-driver=journald --signature-verification=false --graph=/local/docker --insecure-registry=0.0.0.0/0'

重启docker后,docker info 就可以看到目录换了

方法三

如果 Docker 的版本是 1.12 或以上的,可以修改或新建 daemon.json 文件。修改后会立即生效,不需重启 Docker 服务

# 修改配置文件
$ vim /etc/docker/daemon.json
{
    "graph": "/new-path/docker"
}

注意:如果之前有镜像和对应的数据,执行完这一步,默认存储路径是改掉了,但是会导致之前的镜像找不到,可以把/var/lib/docker/目录下的所有文件 cp -R 到挂载有数据分区的目录下 即:

cp -R /var/lib/docker/* /data/tootls/docker/

到此这篇关于Docker数据目录迁移方法的文章就介绍到这了,更多相关docker数据目录迁移内容请搜索脚本之家以前的文章或继续浏览下面的相关文章希望大家以后多多支持脚本之家!

相关文章

  • 详解使用Docker部署MySQL(数据持久化)

    详解使用Docker部署MySQL(数据持久化)

    这篇文章主要介绍了详解使用Docker部署MySQL(数据持久化),文中通过示例代码介绍的非常详细,对大家的学习或者工作具有一定的参考学习价值,需要的朋友们下面随着小编来一起学习学习吧
    2019-09-09
  • docker容器运行后退出(怎么才能一直运行)

    docker容器运行后退出(怎么才能一直运行)

    这篇文章主要介绍了docker容器运行后退出(怎么才能一直运行),本文详细的介绍了解决方法,非常具有实用价值,需要的朋友们下面随着小编来一起学习学习吧
    2019-01-01
  • docker报错Container is not running问题及解决

    docker报错Container is not running问题及解决

    这篇文章主要介绍了docker报错Container is not running问题及解决方案,具有很好的参考价值,希望对大家有所帮助。如有错误或未考虑完全的地方,望不吝赐教
    2023-05-05
  • docker volume删除卷的操作

    docker volume删除卷的操作

    这篇文章主要介绍了docker volume删除卷的操作,具有很好的参考价值,希望对大家有所帮助。一起跟随小编过来看看吧
    2021-03-03
  • Docker部署SQL Server及最佳应用小结

    Docker部署SQL Server及最佳应用小结

    SQL Server是由Microsoft开发和推广的关系数据库管理系统(DBMS),本文总结了容器环境下的部署及实践应用,需要的朋友可以参考下
    2022-08-08
  • excel导出在docker环境中总是失败的问题

    excel导出在docker环境中总是失败的问题

    这篇文章主要介绍了excel导出在docker环境中总是失败的问题及解决方法,本文给大家介绍的非常详细,对大家的学习或工作具有一定的参考借鉴价值,
    2020-09-09
  • Docker部署web项目的实现

    Docker部署web项目的实现

    这篇文章主要介绍了Docker部署web项目的实现,文中通过示例代码介绍的非常详细,对大家的学习或者工作具有一定的参考学习价值,需要的朋友们下面随着小编来一起学习学习吧
    2020-10-10
  • Docker容器网络地址的创建修改

    Docker容器网络地址的创建修改

    Docker提供了一个方便的方式来配置容器的网络地址,在本文中,我们将介绍如何修改Docker容器的网络地址,本文主要介绍了Docker容器网络地址的创建修改,感兴趣的可以了解一下
    2024-01-01
  • 基于alpine用dockerfile创建的tomcat镜像的实现

    基于alpine用dockerfile创建的tomcat镜像的实现

    这篇文章主要介绍了基于alpine用dockerfile创建的tomcat镜像的实现,小编觉得挺不错的,现在分享给大家,也给大家做个参考。一起跟随小编过来看看吧
    2018-12-12
  • cordon节点drain驱逐节点delete节点详解

    cordon节点drain驱逐节点delete节点详解

    这篇文章主要为大家介绍了cordon节点drain驱逐节点delete节点详解,有需要的朋友可以借鉴参考下,希望能够有所帮助,祝大家多多进步,早日升职加薪
    2022-11-11

最新评论