docker容器迁移(以redis为例)

一、暂停容器

最好是先将自己的容器暂停一下,以免数据丢失
docker ps -a找到自己的容器id,然后执行命令关闭容器docker stop 容器id

docker ps 

#运行结果
CONTAINER ID   IMAGE       COMMAND                  CREATED          STATUS          PORTS                                       NAMES
693d9fb41d27   redis   "docker-entrypoint.s…"   42 minutes ago   Up 42 minutes   0.0.0.0:6389->6379/tcp, :::6389->6379/tcp   redis

二、提交容器成镜像

提交你的变更,并且把容器保存成镜像,命名为redis

docker commit 693d9fb41d27  redis

#然后查看自己的镜像,就可以发现自己的容器已经转成镜像了
docker images

三、将镜像保存成tar文件

#后面的是保存的目录文件
docker save redis > /app/redis.tar

四、将挂载的文件迁移到目标服务器

#scp 目录/文件名.文件格式 目标服务器用户名@ip地址:目标服务器目录
scp /home/test.zip aitest@10.22.137.11:/hoem/

scp -r /home/test/data aitest@10.22.137.11:/home/

注:可以通过此命令将前面的镜像文件转移到目标服务器

五、将拷贝后的文件在新服务器load成镜像

docker load < /app/redis.tar

六、完成,查看并启动

启动命令:

docker run -p 16379:6379 --name redis -v /data/redis/redis.conf:/etc/redis/redis.conf -v /data/redis/data:/data -d redis:5.0 redis-server /etc/redis/redis.conf --appendonly yes --requirepass "你的密码"
docker  exec  -it  容器ID   /bin/bash 启动打包的容器

参考链接:
https://www.jianshu.com/p/259f44f0e266
https://blog.csdn.net/sunmingyang1987/article/details/104555839

上一篇:docker 启动


下一篇:10-30-Docker—发布镜像到阿里云容器服务【推荐使用】