Docker使用 | 禅道,专注研发项目管理!

305 阅读2分钟

Docker使用 | 禅道,专注研发项目管理!

image-20240130213514465.png

禅道 www.zentao.net/

禅道由禅道软件(青岛)有限公司开发,国产开源项目管理软件。它集项目集管理、产品管理、项目管理、质量管理、DevOps、知识库、BI效能、工作流、学堂、反馈管理、组织管理和事务管理于一体,是一款专业的研发项目管理软件,完整覆盖了研发项目管理的核心流程。禅道管理思想注重实效,功能完备丰富,操作简洁高效,界面美观大方,搜索功能强大,统计报表丰富多样,软件架构合理,扩展灵活,有完善的API可以调用。

Docker和Kubernetes方式部署禅道 www.zentao.net/book/zentao…

查看Docker版本

docker -v | awk '{ print $3 }'

image-20240130214535858.png

获取禅道镜像

镜像地址有两个:

  • 禅道官方地址:hub.zentao.net/app/zentao
  • Dockerca镜像仓库地址为:easysoft/zentao

image-20240130214826367.png

docker pull easysoft/zentao

image-20240130215054643.png

  • 显示TAGlatest,我们并不知道最新的版本号是多少

curl https://registry.hub.docker.com/v1/repositories/centos/tags\
| tr -d '[[]" ]' | tr '}' '\n'\
| awk -F: -v image='centos' '{if(NR!=NF && $3 != ""){printf("%s:%s\n",image,$3)}}'
使用compose脚本

前几篇内容都是通过docker命令创建容器的,每次都需要将命令记录,使用时进行复制,比较繁琐。

通过compose.yaml脚本执行非常方便

  1. 创建compose.yaml文件
  2. docker命令以YAML格式写入到文件中,注意版本

image-20240130221436098.png

services:
  zentao:
    hostname: "zentao"
    ports:
      - "8003:80"
    restart: 'always'
    image: "easysoft/zentao:latest"
    environment:
      - MYSQL_INTERNAL=true
    volumes:
      - /home/robertchao/docker_images/zentao/zt_data:/data
networks:
  default:
    name: zentaonet
  • 这里使用了Docker内部网络

image-20240130222024769.png

  • 启动禅道在配置文件所在路径执行
docker compose up -d
  • 关闭禅道
docker compose down
  • 更新禅道

    • 修改compose.yaml中的镜像为新版本
docker compose up -d
使用禅道

image-20240130222826655.png

  • 配置数据库的账号密码,可以使用内置的数据库,也可以使用相同网段的数据库

image-20240130223029559.png

  • 最终的配置文件信息,会记录在 **/apps/zentao/config/my.php**中

image-20240130223149722.png

image-20240130223251614.png

  • 设置管理员账号、密码

image-20240130223303451.png

image-20240130224144332.png

image-20240130224248637.png

学习内容

Docker网络

Docker网络需要处理容器之间容器与外部网络和VLAN之间的连接,随着容器化的发展,Docker网络架构采用容器网络模型方案(CNM),支持拔插式的驱动方式来提供网络拓扑。

Docker daemon启动时会在主机创建一个Linux网桥(默认为docker0),容器启动时,Docker会创建一对veth-pair(虚拟网络接口)设备,veth设备的特点是成对存在,从一端进入的数据会同时出现在另一端,Docker会将一端挂载到docker0网桥上,另一端放入容器的Network Namespace内,从而实现容器与主机通信的目的

image-20240130224839539.png

  • 查看网桥docker inspect zentaonet的详细信息

image-20240130225032444.png