本文讲述的是如何从服务器A将运行的容器迁移至另一台服务器B上。
1 服务器A导出容器
1)使用commit把运行的容器打包成镜像
docker commit -a "作者" -m "注释" 容器id REPOSITORY:TAG
2)用export或者save把镜像导出成tar包
docker save -o xxx.tar REPOSITORY:TAG
注:REPOSITORY:TAG和步骤1)的对应
3)将该容器的挂载目录打包
如果需要还原该容器的运行状态,则把容器的挂载的目录一起打包。
2 服务器B导入容器镜像
docker load -i xxx.tar
3 运行容器
以运行Jenkins为例子:
docker run -d --name=jenkins-blueocean -u root \
-v /docker-data/repos/jenkinsnew/data:/var/jenkins_home \
-v /var/run/docker.sock:/var/run/docker.sock \
-v /docker-data/repos/jenkinsnew/home:/home \
-p 8380:8080 -p 50000:50000 \
jenkinsci/blueocean
-d 后台运行容器
--name 指定容器名字
-v 挂载目录。可以指定上述步骤打包的目录,还原容器状态。
-p 端口 映射