docker容器迁移

post by rocdk890 / 2016-3-28 13:51 Monday linux技术
  今天给大家说下怎么进行docer容器迁移,希望docker的大神不要打我,docker我才开始懂一点.相信很多人有时候在docker里配置好环境之后,会被要求放到其他地方进行测试,这就需要把整个环境进行迁移过去,这也是docker的方便之处,不用重新进行配置.
  系统:centos 6.5(64位)
1.先有个配置好的docker环境,如果你没有的话,那还不赶紧去做个.

2.对docker容器进行停止运行
docker stop redmine
docker stop redmine-mysql
如果你容器这只运行了2个容器的话,那你可以使用
docker stop $(docker ps -q -a)
这个命令可以停止所有运行中的容器.

3.对docker容器进行备份
docker ps -a  #先查看容器的id是多少

docker commit -p 容器id 新镜像名字
例:
docker commit -p 189591052dea redmine-bak
然后将镜像备份到本地:
docker save -o ~/redmine-bak.tar redmine-bak
最后把容器外的数据也打包
tar czf ~/redmine.tar.gz /srv/docker/redmine

4.将镜像和容器外的数据传到其他服务器上
scp ~/redmine-bak.tar root@ip:/root/
scp ~/redmine.tar.gz root@ip:/root/

5.恢复容器
docker load -i ~/redmine-bak.tar
tar zxf redmine.tar.gz -C /
然后启动容器
docker run --name redmine -tid \
    --link redmine-mysql:mysql \
    --publish 10083:80 \
    --env REDMINE_HOST=192.168.10.240 \
    --env REDMINE_PORT=10083 \
    --volume /srv/docker/redmine/redmine:/home/redmine/data \
    redmine-bak:latest

好了,这样就让容器迁移完成了.
ps:
我这只演示了一个容器的迁移过程,启动redmine容器里面其实还有个redmine-mysql的容器要迁移过来,不然根本无法启动,具体迁移过程参考redmine的.
夜空- 本站版权
1、本站所有主题由该文章作者发表,该文章作者与夜空享有文章相关版权
2、其他单位或个人使用、转载或引用本文时必须同时征得该文章作者和夜空的同意
3、本帖部分内容转载自其它媒体,但并不代表本站赞同其观点和对其真实性负责
4、如本帖侵犯到任何版权问题,请立即告知本站,本站将及时予与删除并致以最深的歉意
5、原文链接:blog.slogra.com/post-645.html

标签: linux 迁移 备份 docker 容器

评论: