需求场景:
在docker里面起了一个mongodb服务,一直在使用。 由于特殊原因,需要将数据库服务和数据迁移至另外一台服务器。
安装mongo镜像
docker pull mongo:latest
启动容器
docker run --name mongo -v /home/mongo/db:/data/db -d -p 27017:27017 mongo
这里 /home/mongo/db 是映射到容器里面的 /data/db
即:容器保存数据都会在这个db目录下
打包将使用正常的容器打包成镜像:
docker commit mongo mongo_image
查看映射目录是否有文件
将数据包打包成 .tar.gz
cd /home/mongo/
tar zcvf db.tar.gz db
ls
将镜像打包
docker images
docker save mongo_image > mongo_image.tar
ls
[root@VM-0-5-centos mongo]# ls
db db.tar.gz mongo_image.tar
**
上面db.tar.gz mongo_image.tar 两个文件拷贝到迁移的主机执行下面操作就可以恢复数据了
**
解压映射的数据包:
tar zxvf db.tar.gz
解压镜像
docker load <mongo_image.tar
docker run --name mongo -v /home/mongo/db:/data/db -d -p 27017:27017 mongo_image
这里启动的镜像 就是刚刚解压的镜像
-v 挂载的目录就是 解压数据包的目录