Docker的镜像迁移到另一台服务器[以迁移jenkins容器为例
1.找到你想要迁移的docker容器实例的ID,如:输入【docker ps】:
注意:这里特别说明一下命令:docker ps 与 docker ps -a 的区别,docker ps 列出正在运行中的容器实例,docker ps -a 列出所有的容器实例,包括运行中和未运行的容器实例

2.将容器ID:8b5cbeb1764e 的容器实例进行迁移:
ps:其实本质就是提交你的变更,并保存为镜像:jenkins-prod
docker commit 8b5cbeb1764e jenkins-xxx
如图:
可以看到,docker commit之后,对原有运行的docker容器是没有任何影响的;同时检查docker镜像中发现,产生了一个我们刚刚提交的新的容器镜像:【jenkins-xxx】,这个镜像正式我们需要迁移的容器镜像。
3.将镜像:【jenkins-xxx】保存为tar文件:
ps:这里注意,docker save 后面可以接Repository,也可以接Image Id
写法1:
docker save jenkins-prod > /root/jenkins-pxx.tar
写法2:
docker save 01b55c1b68cc > /root/jenkins-xxx.tar
如图:
同时,将Jenkins的本地目录挂载点也给备份出来:
4.拷贝到新的机器,执行load命令:
docker load < /root/jenkins-prod.tar
如图:
5.启动容器镜像为容器实例:
在根节点下创建目录data2,将备份的挂载点压缩包上传至data2,解压缩:tar -zxvf Jenkinsdata.tar.gz
其中【01b55c1b68cc】为指定的容器实例;/data2/data/jenkins-data 为映射的容器指定目录的构建项目的指定挂载点
docker run -u root -p 8088:8080 -p 50001:50000 -v /data2/data/jenkins-data:/var/jenkins_home -v /var/run/docker.sock:/var/run/docker.sock 01b55c1b68cc
如图解释一下上述命令中的注意段:
2346

被折叠的 条评论
为什么被折叠?



