Docker简单服务迁移
- [1. 背景](#1. 背景)
- [2. 迁移](#2. 迁移)
-
- [2.1 保存新镜像](#2.1 保存新镜像)
- [2.2 导出成tar包](#2.2 导出成tar包)
- [2.3 在新服务器上导入](#2.3 在新服务器上导入)
- [2.4 配置Dockerfile与其他sh](#2.4 配置Dockerfile与其他sh)
1. 背景
当前部署的服务是跑在Docker下的简单服务,目前需要迁移到另一台服务器上,这里做一个简单的迁移方法记录。
2. 迁移
2.1 保存新镜像
首先将我们已经运行的服务(容器)保存成一个新的镜像,并打上版本号。
示例命令:
bash
docker commit xxx_graph_api xxx_graph_api:2.0
解释命令:
- docker commit :把容器当前的状态"拍快照"生成一个镜像。
- xxx_graph_api(第一个):容器名 或 容器ID
- xxx_graph_api:2.0(第二个):这是生成的新镜像名 即 镜像名:tag
- 生成后你可以:docker images 看到这个新的镜像
这里我在我自己的电脑上模拟一下:

bash
(base) ➜ ~ docker commit es7 es7:2.0
sha256:9327206ecd1413eba2fb56770db2a834b863b7a85fde170a00c0d49fb7fd5969

2.2 导出成tar包
bash
(base) ➜ Downloads docker save -o es7.tar es7:2.0

2.3 在新服务器上导入
bash
(base) ➜ Downloads docker load -i es7.tar
f2d80c4c912c: Loading layer [==================================================>] 251.2MB/251.2MB
Loaded image: es7:2.0
2.4 配置Dockerfile与其他sh
这个就是把原服务器的拷贝过来就好了,目前配置的与之前一致就行。