linux环境下,docker进行数据迁移

docker进行数据迁移


当我们用服务器,使用docker容器进行容器化管理项目时,可能会碰到这样的情况,把一台服务器上docker的容器数据迁移到另外一台服务器上。

比如服务器01上docker管理的mysql,现在因为云服务器到期了,或者要搭建集群之类的,要把整个mysql容器迁移到 服务器02 上。这个时候就涉及到了docker的数据迁移,docker本身也是支持数据迁移的,下面就来具体介绍一下。


环境准备

数据原本存在的linux:服务器01 (以下步骤都叫 服务器01

备份的linux:服务器02 (以下步骤都叫 服务器02

1 制作docker 镜像

首先在服务器01上找到要备份的容器,并使用docker commit 制作新镜像

如果你备份的是类似于mysql这样的数据库,你的容器名就是你最后的库名(ps:不知道其他容器的情况,大家可以补充一下)

#使用查看要备份的容器id
docker ps -a 

#使用docker commit 制作新的镜像
docker commit 容器id  新镜像名

#查看镜像 中是否有自己刚刚制作的镜像
docker images

示例如下:

在这里插入图片描述


2 导出docker镜像为 tar 格式压缩包

将服务器01上我们 新做好的镜像导出成 tar 格式的压缩包

#这里如果不指定路径就在 服务器的根目录下
docker save 镜像id > xxx.tar

示例如下:


3.使用scp 进行linux服务器之间数据拷贝

登录到 服务器02 执行 scp 直接可以实现linux 服务器之间的拷贝

#要把 192.168.68.2 opt 下的 mysql_liu.tar 拷贝到本地 opt下
#scp -r root@192.168.68.2:/opt/mysql_liu.tar /opt
scp -r root@服务器01的ip:文件在服务器01的位置  服务器02要保存的文件位置

示例如下:

在这里插入图片描述


4 在备份服务器导入压缩包文件

#在服务器02上执行导入命令,导入压缩文件
docker load < xxx.tar

示例如下:

查看导入的镜像

在这里插入图片描述


5 给镜像重新命名

docker tag 镜像名id  命名的镜像名:版本

在这里插入图片描述

6 迁移数据文件,运行镜像,创建容器

docker的容器迁移,如果是mysql/sqlserver 这些数据库容器就要自行迁移data数据文件和配置文件,如果是nginx这些则也要迁移nginx.conf 这些配置文件。

6.1 找到服务器01容器挂载路径
# 查看容器的详细信息 
docker inspect 容器名

示例如下

[外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-aggrn4cv-1667469553451)(C:\Users\Administrator\AppData\Roaming\Typora\typora-user-images\1667455168208.png)]

在这里插入图片描述

6.2 拷贝文件到服务器02

这里将 服务器01上挂载存储文件的 /home/mysql/ 文件夹拷贝到 服务器02

6.3 运行创建容器

在服务器02 上运行

#将创建的容器挂载在 从服务器01 上面拷贝过来的 /home/mysql 下的数据上
#-v /home/mysql/conf:/etc/mysql/conf.d	映射配置文件
#-v /home/mysql/log:/var/log/mysql	映射日志
#-v /home/mysql/data:/var/lib/mysql	映射数据

docker run --restart=always -d -v /home/mysql/conf:/etc/mysql/conf.d -v /home/mysql/log:/var/log/mysql -v /home/mysql/data:/var/lib/mysql -p 3310:3306 --name mysql -d mysql_liu:v1

以上便可完成docker的数据迁移工作

  • 4
    点赞
  • 18
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值