Docker数据目录迁移解决方案

这篇具有很好参考价值的文章主要介绍了Docker数据目录迁移解决方案。希望对大家有所帮助。如果存在错误或未考虑完全的地方,请大家不吝赐教,您也可以点击"举报违法"按钮提交疑问。

前置工作

使用以下命令查询当前docker数据目录安装路径:

docker info | grep "Docker Root Dir"

下文以 /home/rain/docker 这个路径作为要迁移的新 Docker 安装(存储)目录

迁移方案

方法一:软链接

停掉Docker服务:

systemctl stop docker 

根据上面查到的路径,移动整个/var/lib/docker目录到数据盘的目的路径(没有rsync命令时需安装rsync):

rsync -avzP /var/lib/docker  /home/rain/

参数解释:

-a,归档模式,表示递归传输并保持文件属性。
-v,显示rsync过程中详细信息。可以使用"-vvvv"获取更详细信息。
-P,显示文件传输的进度信息。(实际上"-P"=“–partial --progress”,其中的"–progress"才是显示进度信息的)。
-z, 传输时进行压缩提高效率。

备份数据目录

mv /var/lib/docker  /var/lib/docker.bak

添加软链接

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

重新启动docker

systemctl start docker 

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

通过上述方法完成迁移之后,在确认 Docker 能正常工作之后,删除原目录备份数据:

rm -rf /var/lib/docker.bak

方法二:修改默认存储路径

直接移出数据,并修改docker默认存放路径位置

停掉Docker服务:

systemctl stop docker 

根据上面查到的路径,移动整个/var/lib/docker目录到数据盘的目的路径(没有rsync命令时需安装rsync):

rsync -avzP /var/lib/docker  /home/rain/
修改配置默认路径

在EXECStart后面添加--graph=/home/rain/docker/

vim /usr/lib/systemd/system/docker.service  

ExecStart=/usr/bin/dockerd  --graph=/home/rain/docker

重启docker

systemctl daemon-reload
systemctl start docker

查看docker数据存储目录

[root@ ~]#: docker info | grep "Docker Root Dir"
Docker Root Dir: /home/rain/docker

确认之前的镜像是否还在

docker images     

通过上述方法完成迁移之后,在确认 Docker 能正常工作之后,删除原目录数据:

rm -rf /var/lib/docker

方法三:通过mount挂载的bind命令

备份 fstab文件

cp /etc/fstab /etc/fstab.$(date +%Y-%m-%d)

停掉Docker服务:

systemctl stop docker 

根据上面查到的路径,移动整个/var/lib/docker目录到数据盘的目的路径(没有rsync命令时需安装rsync):

rsync -avzP /var/lib/docker  /home/rain/

将备份保存

mv /var/lib/docker/ /var/lib/docker.bak

通过mount挂载的bind命令将新位置挂载到老位置

# 创建挂载点
mkdir /var/lib/docker
mount --bind /home/rain/docker /var/lib/docker
mount -a

创建开机自动挂载

vim /etc/fstab
# 最后一行添加
/home/rain/docker /var/lib/docker                     none    bind            0 0
# 挂载
mount -a

如有必要重启服务器确认是否成功迁移

reboot

通过上述方法完成迁移之后,在确认 Docker 能正常工作之后,删除原目录备份数据:文章来源地址https://www.toymoban.com/news/detail-733697.html

rm -rf /var/lib/docker.bak

到了这里,关于Docker数据目录迁移解决方案的文章就介绍完了。如果您还想了解更多内容,请在右上角搜索TOY模板网以前的文章或继续浏览下面的相关文章,希望大家以后多多支持TOY模板网!

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处: 如若内容造成侵权/违法违规/事实不符,请点击违法举报进行投诉反馈,一经查实,立即删除!

领支付宝红包 赞助服务器费用

相关文章

  • 阿里云数据迁移工具解决方案:华为云迁移到阿里云

    对于华为云批量迁移到阿里云,HyperMotion可以支持批量一键式安装Agent软件,做到了操作步骤简单化、自动化,可以满足常见源端操作系统类型。 例如:Windows 2003-2019,CentOS、RedHat 6.x-7.x、Ubuntu 14.x - 16.x、SUSE 11spx - 12 spx等多类型操作系统的全场景化覆盖。 Agent代理模式会在源端

    2024年02月03日
    浏览(36)
  • elasticsearch7.5.2 数据迁移解决方案

    1. 迁移旧数据 a. 查看ES数据文件挂载目录位置 容器内路径: /usr/share/elasticsearch/data 如果没有挂载,需要将/usr/share/elasticsearch/data 压缩后,文件拷到宿主机上 bash # docker cp [容器名称:文件路径] [宿主机路径] b. 将data.tar.gz 上传至B服务器 迁移es数据文件至B服务器 /root 下 新增

    2024年02月12日
    浏览(41)
  • 公司数据迁移,服务器小文件多复制慢解决方案

    企业普遍面临一个挑战:如何高效地处理和移动大量的小型文件。这些文件虽然单个体积不大,但数量庞大,累积起来会占据极大的存储空间,而且在迁移过程中,复制这些文件的速度往往非常缓慢。这不仅影响了企业的运营效率,还可能导致项目延期和成本上升。那么,这

    2024年02月22日
    浏览(28)
  • 【docker】设置 docker 国内镜像仓库报错,解决方案

    daemon.json 格式错误 配置冲突 ,如 daemon.json 和 docker.service 中同时配置了同一个参数 1. 删除 daemon.json 或者 重命名成 daemon.conf ( 不推荐,效果相同 )          全网很多博主的解决方案是重命名成 daemon.conf,但是通过docker info查看发现,配置并未生效 2. 复制标准的 daemo

    2024年02月05日
    浏览(45)
  • Docker Desktop启动失败解决方案

    Docker Desktop是一个流行的容器化平台,它可以帮助开发人员在本地计算机上管理和运行容器。然而,有时候在启动Docker Desktop时会遇到问题,导致它无法正常工作。本文将为您提供一些解决方案,以帮助您解决Docker Desktop启动失败的问题。 检查系统要求: 首先,请确保您的操

    2024年02月04日
    浏览(57)
  • Docker无法拉取镜像解决方案

    安装docker之后,有时候我们拉取镜像会出现速度慢,或者不成功 报错代码:   原因: 在等待报头时超时,请求在等待连接时被取消(客户端)。Docker 默认的源为国外官方源,下载速度较慢,可改为国内镜像源。 解决办法: 使用阿里云镜像加速器 1.打开网址阿里云登录 - 欢迎

    2024年02月13日
    浏览(55)
  • Docker容器内不能联网的解决方案

    参考资料: Docker容器内不能联网的6种解决方案_腾讯数据架构师的博客-CSDN博客_docker容器网络不通 Docker容器内不能联网的6种解决方案

    2024年02月11日
    浏览(40)
  • docker占用内存过高的解决方案

    环境:系统macOS13,芯片M1Pro,内存16GB 在mac环境中运行docker,则会出现内存占用过高的情况,如下图:   具体原因如下所介绍:   也就是说,docker是无法直接运行在macOS中的,虽然它们都是类unix的。故而我猜测在每次运行一个container容器时,可能都会创建一个虚拟的Linux环境

    2024年02月12日
    浏览(34)
  • Docker提示permission denied的解决方案

    安装完Docker之后,使用Docker命令,如Docker version命令,会提示 ERROR: permission denied while trying to connect to the Docker daemon socket at unix:///var/run/docker.sock: Get \\\"http://%2Fvar%2Frun%2Fdocker.sock/v1.24/info\\\": dial unix /var/run/docker.sock: connect: permission denied 这种问题,通常是因为当前用户没有加入到Do

    2024年02月13日
    浏览(41)
  • docker 存储目录迁移

    参考:【Docker专题】WSL镜像包盘符迁移详细笔记 - 掘金 docker迁移 Windows版本(Windows 10 wsl 2)docker 默认程序安装到c盘,数据存放于 C:Users当前用户名AppDataLocalDockerwsldataext4.vhdx 这样会导致docker使用量上去后C盘的空间占用越来越大。为了解决这个问题,我们一般习惯性将数

    2024年02月06日
    浏览(36)

觉得文章有用就打赏一下文章作者

支付宝扫一扫打赏

博客赞助

微信扫一扫打赏

请作者喝杯咖啡吧~博客赞助

支付宝扫一扫领取红包,优惠每天领

二维码1

领取红包

二维码2

领红包