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
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

打赏作者

dadeity

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

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

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

打赏作者

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

抵扣说明:

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

余额充值