# docker-compose.yml version: '3.8' services: # mysql: # image: mysql:8.0 # container_name: saas-mysql # restart: always # environment: # MYSQL_ROOT_PASSWORD: root_secure_password # MYSQL_DATABASE: lucky_sass # MYSQL_USER: saas_admin # MYSQL_PASSWORD: saas_secure_password # ports: # - "3306:3306" # volumes: # - ./init_v2.0.sql:/docker-entrypoint-initdb.d/init.sql:ro # - mysql_data:/var/lib/mysql # command: --default-authentication-plugin=mysql_native_password --character-set-server=utf8mb4 --collation-server=utf8mb4_unicode_ci saas-admin-api: build: . container_name: saas-admin-api restart: always ports: - "8080:8080" environment: DB_HOST: mysql DB_PORT: 3306 DB_USER: saas_admin DB_PASSWORD: saas_secure_password DB_NAME: lucky_sass ADMIN_API_KEY: sk-admin-xxxxxxxxxxxxxxxx PORT: 8080 depends_on: # - mysql # 等待 MySQL 就绪(可选:使用 wait-for-it.sh 更健壮) healthcheck: test: ["CMD", "curl", "-f", "http://localhost:8080"] interval: 10s timeout: 5s retries: 5 volumes: mysql_data: