使用Docker Compose部署ZenTao和MySQL

随着DevOps的逐渐普及,Docker和Docker Compose成为了开发环境和生产环境部署的重要工具。Docker提供了一种轻量级的虚拟化解决方案,Docker Compose则让我们能以简洁的方式管理多个Docker容器。在这篇文章中,我们将学习如何使用Docker Compose搭建ZenTao项目管理工具,并与MySQL数据库进行连接。ZenTao是一个开源的项目管理软件,非常适合开发团队使用。

环境准备

在开始之前,请确保您已经安装了Docker和Docker Compose。可以通过以下命令检查您的安装情况:

docker --version
docker-compose --version
  • 1.
  • 2.

如果没有安装,可以参考[Docker官方文档]( Compose官方文档](

ZenTao与MySQL概况

ZenTao是一个现代化的项目管理系统,提供了需求管理、任务管理、文档管理等功能。而MySQL作为关系型数据库管理系统,被广泛用于存储应用程序的数据。在我们使用Docker Compose进行部署时,需要分别配置ZenTao及MySQL的服务。

创建Docker Compose配置文件

为了方便管理,我们将创建一个docker-compose.yml文件,该文件包含ZenTao和MySQL服务的所有配置信息。以下是一个简单的配置示例:

version: '3.8'

services:
  mysql:
    image: mysql:5.7
    restart: always
    environment:
      MYSQL_ROOT_PASSWORD: root_password
      MYSQL_DATABASE: zentaodb
      MYSQL_USER: zentaouser
      MYSQL_PASSWORD: zentaouser_password
    ports:
      - "3306:3306"
    volumes:
      - mysql_data:/var/lib/mysql

  zentao:
    image: easysoft/zentao
    restart: always
    environment:
      DB_HOST: mysql
      DB_USER: zentaouser
      DB_PASSWORD: zentaouser_password
    ports:
      - "80:80"
    depends_on:
      - mysql

volumes:
  mysql_data:
  • 1.
  • 2.
  • 3.
  • 4.
  • 5.
  • 6.
  • 7.
  • 8.
  • 9.
  • 10.
  • 11.
  • 12.
  • 13.
  • 14.
  • 15.
  • 16.
  • 17.
  • 18.
  • 19.
  • 20.
  • 21.
  • 22.
  • 23.
  • 24.
  • 25.
  • 26.
  • 27.
  • 28.
  • 29.
  • 30.
解析配置
  1. MySQL服务

    • 使用官方的MySQL 5.7镜像。
    • 设置环境变量来配置数据库的根密码、数据库名称、用户及用户密码。
    • 将3306端口映射到宿主机,以供外部访问。
  2. ZenTao服务

    • 使用Easysoft提供的ZenTao Docker镜像。
    • 通过环境变量配置数据库连接信息。
    • 映射80端口以便通过HTTP访问ZenTao。

启动服务

完成docker-compose.yml配置后,我们可以通过以下命令启动ZenTao和MySQL服务:

docker-compose up -d
  • 1.

该命令将以守护进程模式运行服务。可以通过以下命令查看服务运行状态:

docker-compose ps
  • 1.

访问ZenTao

ZenTao服务启动后,您可以通过浏览器访问http://localhost来访问ZenTao。按照屏幕上的指示完成基本配置,并连接到MySQL数据库。填写数据库主机为mysql,数据库名为zentaodb,用户名zentaouser和密码zentaouser_password

数据库连接验证

在ZenTao的配置完成后,可以通过以下命令连接到MySQL数据库以验证配置是否成功:

docker exec -it [mysql_container_id] mysql -u zentaouser -p
  • 1.

输入上述命令后,您需要再输入数据库用户密码zentaouser_password,进入MySQL命令行界面。运行以下命令列出数据库,确认zentaodb是否存在:

SHOW DATABASES;
  • 1.

Mermaid旅行图示例

接下来,我们使用Mermaid语法展示整个项目的旅行过程:

使用Docker Compose部署ZenTao与MySQL的旅程 准备 准备中 没有 进行中
环境准备
环境准备
没有
安装Docker
安装Docker
没有
安装Docker Compose
安装Docker Compose
创建配置文件
创建配置文件
进行中
编写docker-compose.yml
编写docker-compose.yml
启动服务
启动服务
准备
启动MySQL服务
启动MySQL服务
准备
启动ZenTao服务
启动ZenTao服务
验证连接
验证连接
准备中
验证ZenTao成功连接MySQL
验证ZenTao成功连接MySQL
使用Docker Compose部署ZenTao与MySQL的旅程

终止服务

完成所有操作后,可以通过以下命令停止并删除所有相关容器:

docker-compose down
  • 1.

该命令将停止并清理所有与当前Compose文件相关的服务和资源。

结论

对开发团队而言,Docker Compose提供了一种便捷高效的方式来管理和部署应用程序。在这篇文章中,我们介绍了如何使用Docker Compose快速搭建ZenTao项目管理工具并连接MySQL数据库。这种方法不仅降低了开发和部署的复杂性,还能让开发团队专注于项目的核心业务。

通过掌握Docker Compose,我们可以更轻松地管理应用程序的生命周期,快速构建、扩展和移除服务,为敏捷开发提供强有力的支持。如果您还未尝试Docker Compose,现在就是一个很好的机会!