docker之容器数据迁移

一、前言

  在正式环境使用Docker部署各种应用或者中间件的时候,随着应用的应用数据或者日志数据增多,当初默认部署在root区的空间比较小,导致应用出现问题。所以本章通过容器数据迁移的方式,将容器迁移至其他分区,解决空间不足的问题。

二、实践

  第一步、执行命令停止docker,容器的应用会停止,所以在停止前要检查应用是否备份。

systemctl stop docker

  第二步、拷贝原文件信息到新的目录下,这里直接拷贝的,防止出现意外情况好还原。

  原文件夹(/var/lib/docker/*) 在root分区
  新文件夹(/home/lib/docker) 在home分区

cp -R -p /var/lib/docker/* /home/lib/docker

  第三步、修改 /etc/docker/daemon.json文件中的data-root路径,使用新文件路径。

"data-root":"/home/lib/docker"

  第四步、迁移文件(备份与清空磁盘空间)

mv /var/lib/docker /home/lib/docker-bak

  第五步、重新加载配置文件,然后重启docker。

systemctl daemon-reload (重启加载配置文件)
systemctl restart docker (重启docker应用)
systemctl enable docker

  第六步、查看相关容器应用信息是否正常启动、检查容器地址是否改变。

docker info  命令查看是否路径变化了
docker inspect xxxxx
  注意:在容器迁移过程中可能会出现的问题,比如容器挂载卷的失效,在原容器与宿主机挂载的卷失效了;在容器迁移过程中,对文件迁移必须提高文件权限,修改文件权限导致容器重启失败的问题,比如RabbitMq的Cookie文件的权限要求。
posted @ 2025-03-10 17:46  tuqunfu  阅读(539)  评论(0)    收藏  举报