常用的docker-compose.yml

禅道

services:
  zentao-db:
    image: mysql:8.0
    container_name: zentao-mysql
    environment:
      MYSQL_ROOT_PASSWORD: "root"       # 建议修改为复杂密码
      MYSQL_DATABASE: "zentao"
      TZ: "Asia/Shanghai"
    volumes:
      - zentao_mysql_data:/var/lib/mysql  # MySQL数据持久化
    healthcheck:
      test: ["CMD", "mysqladmin", "ping", "-h", "localhost"]
      interval: 5s
      timeout: 10s
      retries: 10

  zentao:
    image: hub.zentao.net/app/zentao:latest
    container_name: zentao
    depends_on:
      zentao-db:
        condition: service_healthy
    ports:
      - "12000:80"                        # 访问端口
    environment:
      ZT_MYSQL_HOST: "zentao-db"          # 指向MySQL容器
      ZT_MYSQL_USER: "root"
      ZT_MYSQL_PASSWORD: "root"         # 与上方root密码一致
      ZT_MYSQL_DB: "zentao"
      TZ: "Asia/Shanghai"
    volumes:
      - zentao_app_data:/data             # 禅道数据持久化
    restart: unless-stopped

volumes:
  zentao_mysql_data:                      # MySQL数据卷
  zentao_app_data:                        # 禅道应用数据卷

Kafka

services:
  zookepper:
    image: wurstmeister/zookeeper                    # 原镜像`wurstmeister/zookeeper`
    container_name: zookeeper                        # 容器名为'zookeeper'
    volumes:                                         # 数据卷挂载路径设置,将本机目录映射到容器目录
      - "/etc/localtime:/etc/localtime"
    ports:                                           # 映射端口
      - "2181:2181"

  kafka:
    image: wurstmeister/kafka                                # 原镜像`wurstmeister/kafka`
    container_name: kafka                                    # 容器名为'kafka'
    volumes:                                                 # 数据卷挂载路径设置,将本机目录映射到容器目录
      - "/etc/localtime:/etc/localtime"
    environment:                                                       # 设置环境变量,相当于docker run命令中的-e
      KAFKA_BROKER_ID: 0                                               # 在kafka集群中,每个kafka都有一个BROKER_ID来区分自己
      KAFKA_ADVERTISED_LISTENERS: PLAINTEXT://127.0.0.1:9092 # TODO 将kafka的地址端口注册给zookeeper
      KAFKA_LISTENERS: PLAINTEXT://0.0.0.0:9092                        # 配置kafka的监听端口
      KAFKA_ZOOKEEPER_CONNECT: zookeeper:2181                # zookeeper地址
    ports:                              # 映射端口
      - "9092:9092"
    depends_on:                         # 解决容器依赖启动先后问题
      - zookepper

  kafka-manager:
    image: sheepkiller/kafka-manager                         # 原镜像`sheepkiller/kafka-manager`
    container_name: kafka-manager                            # 容器名为'kafka-manager'
    environment:                        # 设置环境变量,相当于docker run命令中的-e
      ZK_HOSTS: zookeeper:2181  #  zookeeper地址
      APPLICATION_SECRET: xxxxx
      KAFKA_MANAGER_AUTH_ENABLED: "true"  # 开启kafka-manager权限校验
      KAFKA_MANAGER_USERNAME: admin       # 登陆账户
      KAFKA_MANAGER_PASSWORD: 123456      # 登陆密码
    ports:                              # 映射端口
      - "9000:9000"
    depends_on:                         # 解决容器依赖启动先后问题
      - kafka

posted @ 2025-04-19 16:20  fhyxzmkh  阅读(29)  评论(0)    收藏  举报