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-compose中的depends_on顺序的问题解决

    浅谈Docker-compose中的depends_on顺序的问题解决

    本文主要介绍了浅谈Docker-compose中的depends_on顺序的问题解决,文中通过示例代码介绍的非常详细,具有一定的参考价值,感兴趣的小伙伴们可以参考一下
    2021-11-11
  • Windows的docker删除容器后WSL2磁盘空间不释放的问题的解决方法

    Windows的docker删除容器后WSL2磁盘空间不释放的问题的解决方法

    很多同学拉取镜像使用一段时间后发现 C 盘快满了,把之前用过的镜像和容器删除,发现 WSL 挂载目录的虚拟磁盘大小没有变化,非常的奇怪,所以本文介绍了Windows的docker删除容器后WSL2磁盘空间不释放的问题的解决方法,需要的朋友可以参考下
    2024-12-12
  • 使用docker 部署mysql突然连接不上的问题及解决方法

    使用docker 部署mysql突然连接不上的问题及解决方法

    这篇文章主要介绍了使用docker 部署mysql,突然连接不上,要解决这个问题需要找到根本原因,对症治疗就好,本文通过图文实例相结合给大家介绍的非常详细,需要的朋友可以参考下
    2022-06-06
  • docker容器配置启动参数

    docker容器配置启动参数

    通过添加参数,我们可以在启动 Docker 容器时灵活地配置容器的行为,本文介绍了通过命令行和 Dockerfile 两种方式添加参数的方法,并给出了常用参数的示例,希望本文能帮助您理解如何在 Docker 启动时添加参数,并正确地配置和管理 Docker容器
    2023-10-10
  • docker写一个Dockerfile文件的实现

    docker写一个Dockerfile文件的实现

    Dockerfile 是一个用来构建镜像的文本文件,文本内容包含了一条条构建镜像所需的指令和说明,本文主要介绍了docker写一个Dockerfile文件的实现
    2024-01-01
  • 详解如何使用Docker部署Django+MySQL8开发环境

    详解如何使用Docker部署Django+MySQL8开发环境

    这篇文章主要介绍了详解如何使用Docker部署Django+MySQL8开发环境,文中通过示例代码以及图文介绍的非常详细,对大家的学习或者工作具有一定的参考学习价值,需要的朋友们下面来一起学习学习吧
    2020-07-07
  • 基于jib-maven-plugin插件快速构建微服务docker镜像的方法

    基于jib-maven-plugin插件快速构建微服务docker镜像的方法

    这篇文章主要介绍了基于jib-maven-plugin快速构建微服务docker镜像的方法,对于 Java 程序来说使用 jib-maven-plugin 插件来构建镜像还是非常方便的,本文通过实例代码详细讲解,需要的朋友可以参考下
    2023-02-02
  • 基于Docker部署Dubbo+Nacos服务的过程

    基于Docker部署Dubbo+Nacos服务的过程

    这篇文章主要介绍了基于Docker部署Dubbo+Nacos服务,本文介绍基于 Docker 部署一套 Dubbo + Nacos 的微服务环境,并解决容器里的 IP 及端口的访问问题,需要的朋友可以参考下
    2023-02-02
  • Docker搭建Jenkins实现自动部署的图文教程

    Docker搭建Jenkins实现自动部署的图文教程

    本文主要介绍了Docker搭建Jenkins实现自动部署教程,文中通过示例代码介绍的非常详细,对大家的学习或者工作具有一定的参考学习价值,需要的朋友们下面随着小编来一起学习学习吧
    2025-05-05
  • Docker如何给Springboot项目动态传参的实现方法

    Docker如何给Springboot项目动态传参的实现方法

    这篇文章主要介绍了Docker如何给Springboot项目动态传参的实现方法,文中通过示例代码介绍的非常详细,对大家的学习或者工作具有一定的参考学习价值,需要的朋友们下面随着小编来一起学习学习吧
    2020-11-11

最新评论