Docker容器备份和导入导出

如何把服务器部署的docker容器迁移到另一台服务器上,这里那wiznote笔记来实操

doker commit +镜像名+打包后的镜像名
docker save -o +打包tar名称+镜像名称  导出
docker load -i+打包tar名称  导入
  • 首先,把docker运行的容器给打包导出,操作之前请停止容器

[root@localhost wizdata]# docker ps -a
CONTAINER ID IMAGE COMMAND CREATED STATUS PORTS NAMES
9dc34381d072 wiznote/wizserver-amd64 “bash /wiz/app/entry…” 27 minutes ago Exited (137) 22 minutes ago wiz
d64862f3ae52 netdata/netdata “/usr/sbin/run.sh” 26 hours ago Up 2 hours (healthy) 0.0.0.0:19999->19999/tcp, :::19999->19999/tcp netdata
a3dfe84c94cb xhofe/alist:latest “./alist -docker” 26 hours ago Up 2 hours 0.0.0.0:5244->5244/tcp, :::5244->5244/tcp alist
898aabeda8a4 onlyoffice/documentserver “/app/ds/run-documen…” 33 hours ago Exited (137) 33 hours ago relaxed_hodgkin
[root@localhost wizdata]# docker start 9dc34381d072
9dc34381d072
[root@localhost wizdata]# docker stop 9dc34381d072

  • 进入Docker所在目录,不知道容器的存放目录,使用docker inspect (容器ID号)
 docker inspect 47748fcdc240
docker inspect 47748fcdc240
 docker inspect 47748fcdc240
docker inspect 47748fcdc240
  • 进入wiznote容器目录,然后运行docker save -o myweizhi.tar 导入容器到当前目录
[root@localhost ~]# cd /root/portainer_data/
[root@localhost portainer_data]# pwd
/root/portainer_data
[root@localhost portainer_data]# docker load -i myweizhi.tar 
[root@localhost portainer_data]# 
docker save -o myweizhi.tar wiznote/wizserver-amd64
docker load -i myweizhi.tar
  • 下载导出的myweizhi.tar文件后,然后再上传到新的服务器,导入myweizhi.tar到容器
docker load -i myweizhi.tar
docker load -i myweizhi.tar
  • 导入后查看容器是否导入
docker load -i myweizhi.tar
docker load -i myweizhi.tar
  • 部署容器,查看部署的容器名称要和导入的名称一样

docker run –name wiz –restart=always -it -d -v /mydocker/wiznote/wizdata:/wiz/storage -v /etc/localtime:/etc/localtime -p 8181:80 -p 9269:9269/udp wiznote/wizserver-amd64

  • wiznote容器已经导入到本地服务器中,所以运行部署非常快
ocker run --name wiz --restart=always -it -d -v /mydocker/wiznote/wizdata:/wiz/storage -v /etc/localtime:/etc/localtime -p 8181:80 -p 9269:9269/udp wiznote/wizserver-amd64
ocker run –name wiz –restart=always -it -d -v /mydocker/wiznote/wizdata:/wiz/storage -v /etc/localtime:/etc/localtime -p 8181:80 -p 9269:9269/udp wiznote/wizserver-amd64
  • 部署成功后,停止容器,把之前的数据同步现在新部署的服务器上来,用rsync
rsync -av   root@myzhangxiubing.com:/root/portainer_data/wizdata/  /mydocker/wiznote/wizdata
rsync -av   root@myzhangxiubing.com:/root/portainer_data/wizdata/  /mydocker/wiznote/wizdata
rsync -av root@myzhangxiubing.com:/root/portainer_data/wizdata/ /mydocker/wiznote/wizdata

Docker中删除不用的镜像,容器:https://www.hao0564.com/2343.html

留下评论

您的电子邮箱地址不会被公开。 必填项已用 * 标注