docker-compose 方式搭建禅道(最新版)

1. 准备工作

  • 确保已安装 Docker 和 Docker Compose
  • 创建一个工作目录(例如 zentao),用于存放配置文件

2. 创建 docker-compose.yml 文件

  • 在 zentao 目录下新建 docker-compose.yml 文件,内容如下:
services:
  # db service for zentao
  zentao-db:
    # image: bitnami/mariadb:10.6
    # 国内镜像
    image: hub.zentao.net/app/mariadb:10.6-bitnami
    container_name: zentao-db
    pull_policy: if_not_present
    restart: always
    ports:
      - '13306:3306'
    volumes:
      # - 'zentao_db:/bitnami/mariadb'
      # 使用宿主机目录挂载数据
      - '/data/zentao/mariadb:/bitnami/mariadb'
    networks:
      - zentao-net
    environment:
      - MARIADB_USER=my_user
      - MARIADB_PASSWORD=my_password
      - MARIADB_DATABASE=zentao
      - MARIADB_CHARACTER_SET=utf8mb4
      - MARIADB_COLLATE=utf8mb4_unicode_ci
      - MARIADB_ROOT_PASSWORD=pass4Zentao
    healthcheck:
      test: [ 'CMD', '/opt/bitnami/scripts/mariadb/healthcheck.sh' ]
      interval: 15s
      timeout: 5s
      retries: 6
  zentao-cache:
    # image: bitnami/redis:6.2
    # 国内镜像
    image: hub.zentao.net/app/redis:6.2-bitnami
    container_name: zentao-cache
    pull_policy: if_not_present
    restart: always
    ports:
      - '16379:6379'
    environment:
      - REDIS_PASSWORD=pass4Zentao
    volumes:
      # - 'zentao_cache:/bitnami/redis/data'
      # 使用宿主机目录挂载数据
      - '/data/zentao/redis:/bitnami/redis/data'
    networks:
      - zentao-net
  # zentao service
  zentao:
    # image: easysoft/zentao
    # 国内镜像
    image: hub.zentao.net/app/zentao
    container_name: zentao
    pull_policy: always
    restart: always
    ports:
      - '8088:80'
    volumes:
      # - 'zentao_data:/data'
      # 使用宿主机目录挂载数据
      - '/data/zentao/data:/data'
    depends_on:
      - zentao-db
      - zentao-cache
    environment:
      - ZT_MYSQL_HOST=zentao-db
      - ZT_MYSQL_PORT=3306
      - ZT_MYSQL_USER=root
      - ZT_MYSQL_PASSWORD=pass4Zentao
      - ZT_MYSQL_DB=zentao
      # 从21.3版本开始,如果已经设置了redis相关环境变量自动开启redis session缓存,可不用配置如下环境变量
      - PHP_SESSION_TYPE=redis
      - PHP_SESSION_PATH=tcp://zentao-cache:6379?auth=pass4Zentao
      - PHP_EXT_REDIS=true
      - PHP_SESSION_REDIS_DATABASE=6 # 如果session是redis默认使用6, session database和cache database不要复用
      # end
      - ZT_REDIS_HOST=zentao-cache
      - ZT_REDIS_PORT=6379
      - ZT_REDIS_PASSWORD=pass4Zentao
      - ZT_REDIS_SERIALIZER=igbinary # php, igbinary
      # - ZT_REDIS_DATABASE=0 # 默认禅道为0
      - ZT_CACHE_ENABLE=true
      - ZT_CACHE_TYPE=redis
      - ZT_CACHE_SCOPE=private
      - ZT_CACHE_LIFETIME=0
      - PHP_MAX_EXECUTION_TIME=120
      - PHP_MEMORY_LIMIT=512M
      - PHP_POST_MAX_SIZE=128M
      - PHP_UPLOAD_MAX_FILESIZE=128M
    networks:
      - zentao-net
      # 指定mac地址设置网络如下,需要删除`- zentao-net`
      # zentao-net:
      # 02:42:ac:11:00:02为示例mac地址
      #   mac_address: 02:42:ac:11:00:02
networks:
  zentao-net:
    driver: bridge
# persistence for mysql, cache and zentao
volumes:
  zentao_db:
  zentao_cache:
  zentao_data:

3. 启动禅道服务

  • 在 docker-compose.yml 文件所在目录执行:
docker-compose up -d

4. 验证安装

  • 访问禅道控制台:浏览器打开 http://服务器IP: 8088(在docker-compose.yml 文件暴露的端口)
  • 初始化安装:首次访问会自动进入安装向导,按提示完成配置(数据库信息已自动填入)。
  • 默认账号:安装完成后,初始化完成时创建。

5. 常用操作

  • docker-compose.yml 文件所在目录执行
  • 查看服务状态
docker-compose ps
  • 查看日志
docker-compose logs -f
  • 停止服务
docker-compose down
# 或者
docker-compose stop
  • 更新镜像
# 1. 拉取最新镜像
docker-compose pull

# 2. 重新启动服务
docker-compose up -d
使用docker-compose方式部署的详细步骤如下: 1. **环境准备**:查看系统环境,查看centos系统发布版本可使用`cat /etc/redhat-release`,查看内核版本可使用`uname –r`;安装docker-compose,先使用`sudo yum install python-pip install`安装python-pip,接着使用`sudo pip install –upgrade pip`升级pip至最新版本,最后使用`pip install docker-compose`安装docker-compose [^4]。 2. **下载镜像**:提前下载保存镜像与依赖镜像,使用`docker pull easysoft/zentao`和`docker pull bitnami/mariadb:10.6`下载镜像,再用`docker save -o zentao.tar easysoft/zentao`和`docker save -o mariadb.tar bitnami/mariadb:10.6`保存镜像 [^3]。 3. **编写部署文件**:编写`zentao.yaml`文件,示例如下: ```yaml version: '2.1' services: zentao-db: image: mariadb:10.6 container_name: zentao-db ports: - '3306:3306' volumes: - /data/zentao/db:/var/lib/mysql environment: - MYSQL_ROOT_PASSWORD=pass4Zentao - MYSQL_DATABASE=zentao networks: - zentao-net zentao: image: hub.zentao.net/app/zentao container_name: zentao ports: - '80:80' volumes: - /data/zentao/file:/data depends_on: - zentao-db environment: - ZT_MYSQL_HOST=zentao-db - ZT_MYSQL_PORT=3306 - ZT_MYSQL_USER=root - ZT_MYSQL_PASSWORD=pass4Zentao - ZT_MYSQL_DB=zentao - PHP_MAX_EXECUTION_TIME=120 - PHP_MEMORY_LIMIT=512M - PHP_POST_MAX_SIZE=128M - PHP_UPLOAD_MAX_FILESIZE=128M - LDAP_ENABLED=false - SMTP_ENABLED=false - APP_DEFAULT_PORT=80 - APP_DOMAIN=zentao.demo.com - PROTOCOL_TYPE=http - IS_CONTAINER=true - LINK_GIT=false - LINK_CI=false networks: - zentao-net networks: zentao-net: driver: bridge ``` 4. **启动服务**:使用`docker-compose -f zentao.yaml up -d`启动服务 [^5]。 5. **网页初始化**:启动服务后,访问页面进行初始化 [^5]。
评论
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符
 
红包 添加红包
表情包 插入表情
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

dadeity

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值