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创建集成服务lnmp环境

    使用docker创建集成服务lnmp环境

    本篇文章主要介绍了使用docker创建集成服务lnmp环境,小编觉得挺不错的,现在分享给大家,也给大家做个参考。一起跟随小编过来看看吧
    2018-04-04
  • 利用Docker搭建Laravel开发环境的完整步骤

    利用Docker搭建Laravel开发环境的完整步骤

    这篇文章主要给大家介绍了关于如何利用Docker搭建Laravel开发环境的完整步骤,文中通过示例代码介绍的非常详细,对大家学习或者使用Laravel具有一定的参考学习价值,需要的朋友们下面来一起学习学习吧
    2019-09-09
  • Docker Compose构建Jenkins的实现

    Docker Compose构建Jenkins的实现

    本文主要介绍了Docker Compose构建Jenkins的实现,文中通过示例代码介绍的非常详细,对大家的学习或者工作具有一定的参考学习价值,需要的朋友们下面随着小编来一起学习学习吧
    2022-06-06
  • 把数据库部署在docker容器内有哪些缺陷

    把数据库部署在docker容器内有哪些缺陷

    这篇文章主要介绍了把数据库部署在docker容器内有哪些缺陷,帮助大家更好的理解和学习docker容器和数据库,感兴趣的朋友可以了解下
    2020-08-08
  • Docker基础命令详解

    Docker基础命令详解

    Docker 是一个开源的应用容器引擎,让开发者可以打包他们的应用以及依赖包到一个可移植的容器中,然后发布到任何流行的 Linux 机器上。本文给大家分享docker基础命令,感兴趣的朋友一起看看吧
    2016-10-10
  • docker的pdflatex环境配置的方法步骤

    docker的pdflatex环境配置的方法步骤

    这篇文章主要介绍了docker的pdflatex环境配置的方法步骤,文中通过示例代码介绍的非常详细,对大家的学习或者工作具有一定的参考学习价值,需要的朋友们下面随着小编来一起学习学习吧
    2021-03-03
  • Docker部署后端项目的实现步骤

    Docker部署后端项目的实现步骤

    本文主要介绍了Docker部署后端项目的实现步骤,文中通过示例代码介绍的非常详细,对大家的学习或者工作具有一定的参考学习价值,需要的朋友们下面随着小编来一起学习学习吧
    2024-03-03
  • 查询Docker镜像DockerFile的方法步骤

    查询Docker镜像DockerFile的方法步骤

    本文主要介绍了查询Docker镜像DockerFile的方法步骤,文中通过示例代码介绍的非常详细,对大家的学习或者工作具有一定的参考学习价值,需要的朋友们下面随着小编来一起学习学习吧
    2023-08-08
  • Docker 部署Mysql 服务和Redis 服务的方法

    Docker 部署Mysql 服务和Redis 服务的方法

    这篇文章主要介绍了Docker 部署Mysql 服务和Redis 服务的方法,本文给大家介绍的非常详细,对大家的学习或工作具有一定的参考借鉴价值,需要的朋友可以参考下
    2020-11-11
  • Docker为网络bridge模式指定容器ip的方法

    Docker为网络bridge模式指定容器ip的方法

    Docker在创建容器时有四种网络模式,bridge为默认不需要用--net去指定,其他三种模式需要在创建容器时使用--net去指定。那Docker为网络bridge模式指定容器ip该如何实现呢?下面通过通过这篇文章一起看看吧,文中给出了详细的示例代码,有需要的可以参考借鉴。
    2016-11-11

最新评论