您当前的位置:首页 > 计算机 > 云技术 > Docker

【Docker】迁移docker版禅道到另一个容器

时间:12-24来源:作者:点击数:

一、需求

之前的禅道安装在docker1中,已经用了一段时间产生了很多数据,由于其他原因现在需要删除这个容器,把已有的禅道容器实例迁移到另一台docker2中。

由于之前采用的docker快速安装禅道的方式,没有挂载文件到宿主机,容器映射出的mysql也无法连接。因此,需要先进容器把禅道的数据库备份,把备份sql文件和禅道的生产文件都导出来,拷贝到新的容器实例中。

二、环境

【docker1】

宿主机ip:192.168.16.25

禅道容器id:60b54b0fb09a

【docker2】

宿主机ip:192.168.16.26

三、迁移步骤

1、docker1宿主机新建备份文件夹

mkdir -p /home/zentao

2、进入docker1的禅道,备份数据库

docker exec -it 60b54b0fb09a /bin/bash

cd /home

/opt/zbox/run/mysql/mysqldump -u root -P 3306 -p zentao > zentao.sql

输入mysql数据库默认密码:123456

3、从容器拷贝数据到宿主机

cd /home/zentao

docker cp 60b54b0fb09a:/home/zentao.sql zentao.sql

docker cp 60b54b0fb09a:/opt/zbox/app/zentao/www/data data

4、在docker2的宿主机新建文件夹,拷贝刚刚备份的数据库sql文件和禅道文件

mkdir -p /home/zentao

5、docker2的宿主机创建禅道实例

docker run -d -p 8183:80 -p 8184:3306 -e ADMINER_USER="root" -e ADMINER_PASSWD="password" -e BIND_ADDRESS="false" --name zentao idoop/zentao:latest

6、拷贝数据库sql文件到容器【858889445ecc】并导入数据库

docker cp zentao.sql 858889445ecc:/home/

/opt/zbox/bin/mysql -u root -P 3306 -p zentao < zentao.sql

输入默认密码:123456

7、拷贝禅道文件到容器【858889445ecc】覆盖

docker cp data/ 858889445ecc:/opt/zbox/app/zentao/www/

8、进入容器查看

docker exec -it 858889445ecc /bin/bash

此时data文件夹丢失了权限,赋权

chmod 777 data/

9、退出容器,重启禅道

docker restart 858889445ecc

10、访问禅道,登录原有账号

登录成功,所有数据都还在,Good Job !!!

方便获取更多学习、工作、生活信息请关注本站微信公众号城东书院 微信服务号城东书院 微信订阅号
推荐内容
相关内容
栏目更新
栏目热门