55 lines
1.4 KiB
YAML
55 lines
1.4 KiB
YAML
|
|
# 瑞来兹后端 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:
|