Stabilize docker service startup

This commit is contained in:
leonincs
2026-04-26 15:49:16 +08:00
parent 624da23a1c
commit a45a64c1ff
3 changed files with 210 additions and 117 deletions

View File

@@ -16,22 +16,24 @@ services:
- --default-authentication-plugin=mysql_native_password
- --character-set-server=utf8mb4
- --collation-server=utf8mb4_0900_ai_ci
healthcheck:
test: ["CMD-SHELL", "mysqladmin ping -h 127.0.0.1 -uroot -p123456 --silent"]
healthcheck:
test: ["CMD-SHELL", "mysqladmin ping -h 127.0.0.1 -uroot -p$${MYSQL_ROOT_PASSWORD} --silent"]
interval: 5s
timeout: 5s
retries: 20
redis:
image: redis:7-alpine
restart: always
command: ["redis-server", "--appendonly", "yes", "--requirepass", "${REDIS_PASSWORD:-123456}"]
redis:
image: redis:7-alpine
restart: always
environment:
REDIS_PASSWORD: ${REDIS_PASSWORD:-123456}
command: ["redis-server", "--appendonly", "yes", "--requirepass", "${REDIS_PASSWORD:-123456}"]
ports:
- "6379:6379"
volumes:
- redis_data:/data
healthcheck:
test: ["CMD", "redis-cli", "-a", "123456", "ping"]
healthcheck:
test: ["CMD-SHELL", "redis-cli -a \"$${REDIS_PASSWORD}\" ping"]
interval: 5s
timeout: 3s
retries: 20
@@ -59,8 +61,13 @@ services:
dockerfile: backend/Dockerfile
target: api
restart: always
environment:
JWT_SECRET: ${JWT_SECRET:-feedsystem-dev-secret-key}
environment:
JWT_SECRET: ${JWT_SECRET:-feedsystem-dev-secret-key}
MYSQL_DATABASE: ${MYSQL_DATABASE:-feedsystem}
MYSQL_ROOT_PASSWORD: ${MYSQL_ROOT_PASSWORD:-123456}
REDIS_PASSWORD: ${REDIS_PASSWORD:-123456}
RABBITMQ_USER: ${RABBITMQ_USER:-admin}
RABBITMQ_PASS: ${RABBITMQ_PASS:-password123}
ports:
- "8080:8080"
volumes:
@@ -85,8 +92,13 @@ services:
dockerfile: backend/Dockerfile
target: worker
restart: always
environment:
JWT_SECRET: ${JWT_SECRET:-feedsystem-dev-secret-key}
environment:
JWT_SECRET: ${JWT_SECRET:-feedsystem-dev-secret-key}
MYSQL_DATABASE: ${MYSQL_DATABASE:-feedsystem}
MYSQL_ROOT_PASSWORD: ${MYSQL_ROOT_PASSWORD:-123456}
REDIS_PASSWORD: ${REDIS_PASSWORD:-123456}
RABBITMQ_USER: ${RABBITMQ_USER:-admin}
RABBITMQ_PASS: ${RABBITMQ_PASS:-password123}
volumes:
- ./backend/configs/config.docker.yaml:/app/configs/config.yaml:ro
depends_on: