一、暂停容器
最好是先将自己的容器暂停一下,以免数据丢失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