最近需要将一台服务器上的应用和数据迁移到另一台服务器上,由于全部使用了 Docker 部署,所以水篇文章

1. 通过云端仓库迁移

1.1 备份容器

首先将容器进行备份,创建一个新的镜像(commit 会将对容器的变更保存下来,生成新的镜像):

docker commit 容器ID 备份后的镜像名:标签

1.2 将容器推送到云端仓库

登录 docker 仓库(阿里云有免费的)

docker login 地址

标记镜像到仓库(重命名)

docker tag 镜像ID 仓库/名称:标签

推送镜像

docker push 仓库/名称:标签

1.3 拉取镜像并部署

从云端仓库拉取镜像

docker pull 仓库/名称:标签

从镜像启动容器

docker run 仓库/名称:标签

2. 通过镜像文件迁移

2.1 备份容器

首先将容器进行备份,创建一个新的镜像:

docker commit 容器ID 备份后的镜像名:标签

2.2 导出为文件

将镜像打包为 tar 文件

docker save -o 目录 镜像

2.3 导入镜像

将 tar 传输到另一台服务器后,导入 tar 包

docker load -i tar文件

然后启动镜像即可

docker run 镜像