# 瑞来兹后端 Docker 编排(Redis 容器内 + MySQL 用外部云库或可选本地库) # 使用: # cp .env.docker.example .env # 编辑 .env 填写 MYSQL_* 与 MYSQL_PASSWORD # docker compose up -d --build # # 健康检查: curl -sS http://127.0.0.1:8039/captchaImage | head -c 120 services: redis: image: redis:7-alpine container_name: rlz-redis restart: unless-stopped command: redis-server --appendonly yes volumes: - rlz-redis-data:/data healthcheck: test: ["CMD", "redis-cli", "ping"] interval: 5s timeout: 3s retries: 5 backend: build: context: ./rlz dockerfile: Dockerfile image: rlz-backend:latest container_name: rlz-backend restart: unless-stopped ports: - "${BACKEND_PUBLISH:-8039}:8039" environment: SPRING_PROFILES_ACTIVE: docker SERVER_PORT: "8039" REDIS_HOST: redis REDIS_PORT: "6379" MYSQL_HOST: ${MYSQL_HOST} MYSQL_PORT: ${MYSQL_PORT:-3306} MYSQL_DATABASE: ${MYSQL_DATABASE:-rlz} MYSQL_USER: ${MYSQL_USER:-root} MYSQL_PASSWORD: ${MYSQL_PASSWORD} MYSQL_USE_SSL: ${MYSQL_USE_SSL:-true} RUOYI_PROFILE: /data/ruoyi/upload depends_on: redis: condition: service_healthy volumes: - rlz-upload:/data/ruoyi/upload - rlz-logs:/data/ruoyi/logs volumes: rlz-redis-data: rlz-upload: rlz-logs: