今天给大家说下怎么进行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的. (责任编辑:IT) |