禅道数据迁移并新建服务(docker)

Administrator
发布于 2025-04-01 / 0 阅读
0
0

禅道数据迁移并新建服务(docker)

必须先备份旧的数据库

1.查看docker服务

[root@yy easysoft]#  docker ps
CONTAINER ID   IMAGE                            COMMAND                  CREATED         STATUS                 PORTS                                                                                   NAMES
33480b4ed8d9   sonatype/nexus3                  "/opt/sonatype/nexus…"   6 days ago      Up 2 hours             0.0.0.0:8081->8081/tcp, :::8081->8081/tcp                                               nexus
e8fcc2c65369   xhofe/alist:latest               "/entrypoint.sh"         17 months ago   Up 2 hours             0.0.0.0:5244->5244/tcp, :::5244->5244/tcp, 5245/tcp                                     alist
1625a30e200f   hub.zentao.net/app/zentao:18.5   "/usr/bin/entrypoint…"   18 months ago   Up 2 minutes           0.0.0.0:8088->80/tcp, :::8088->80/tcp                                                   zentao
93f657d115d0   gitlab/gitlab-ce                 "/assets/wrapper"        18 months ago   Up 2 hours (healthy)   443/tcp, 0.0.0.0:5022->22/tcp, :::5022->22/tcp, 0.0.0.0:5080->80/tcp, :::5080->80/tcp   gitlab
62a80aeaf96c   redis                            "docker-entrypoint.s…"   18 months ago   Up 2 hours             0.0.0.0:6379->6379/tcp, :::6379->6379/tcp                                               redis
02af3743b0d4   mysql:8.0.22                     "docker-entrypoint.s…"   18 months ago   Up 2 hours             0.0.0.0:3306->3306/tcp, :::3306->3306/tcp, 33060/tcp                                    mysql

2.停止zentao服务

要停止禅道服务,可以执行以下命令:

docker stop zentao

如果之后还要启动,可以用:

docker start zentao
2.1 补

你可以使用以下命令来重启 Docker 服务:

systemctl restart docker

这个命令会:

  • 停止 Docker 服务

  • 再次启动 Docker 服务

  • 所有已启动的容器会被停止(如果没有设置自启动),需要手动重新启动

查看 Docker 服务状态:
systemctl status docker

查看 Docker 服务是否已经启动:
docker ps

如果容器列表为空,表示服务正常启动,但是容器没有自动启动。


如果想让容器自动随 Docker 启动:

可以给容器设置 --restart=always,例如:

docker update --restart=always zentao
docker update --restart=always mysql

这样即使服务器重启,Docker 服务启动时,这些容器也会自动启动。


检查现有容器是否设置了自启动:

docker inspect zentao | grep RestartPolicy -A 2
如果你想确认是否启动成功,可以用:
docker ps

确认禅道容器状态为 Up

或者检查禅道日志:
docker logs -f zentao

实时查看启动过程是否有报错。

3.新建一个禅道容器,并启动它。

1. 停止当前禅道容器
docker stop zentao
2. 新建一个禅道容器

禅道 18.5 版本,并且数据库地址、用户、密码都一样,可以这样新建:

bash复制编辑docker run -d \
--name zentao_new \
-p 8088:80 \
--link mysql:db \
-e MYSQL_HOST=db \
-e MYSQL_PORT=3306 \
-e MYSQL_USER=root \
-e MYSQL_PASSWORD=你的数据库密码 \  #(密码和/ 一定要留一个空格)
-e MYSQL_DB=zentao \
hub.zentao.net/app/zentao:18.5

类似于

docker run -d --name zentao_new -p 8089:80 --link mysql:db -e MYSQL_HOST=db -e MYSQL_PORT=3306 -e MYSQL_USER=root -e MYSQL_PASSWORD=xs23456 -e MYSQL_DB=zentao hub.zentao.net/app/zentao:18.5

参数解释:

参数

说明

--name zentao_new

新容器名字,不与旧容器冲突

-p 8088:80

映射新端口(避免和旧的 8088 冲突)

--link mysql:db

让容器可以访问数据库(这里的 mysql 是你的 MySQL 容器名)

-e 参数

配置数据库连接信息

  1. 查看新容器是否启动成功

docker ps

确认新容器 zentao_new 状态为 Up。

4. 查看新禅道日志(确认是否启动正常)
docker logs -f zentao_new
5. 访问新禅道

浏览器打开:

http://服务器IP:8088
6.备份原有的zentao数据库,替换线上的数据库即可


评论