backend scaffold
This commit is contained in:
@@ -0,0 +1,37 @@
|
||||
# 本地开发依赖的外部组件。只起 MySQL——应用本身用 ./gradlew :bootstrap:bootRun 在 IDE/命令行里跑,
|
||||
# 这样断点和热重载都还在。
|
||||
#
|
||||
# docker compose up -d mysql
|
||||
# SPRING_PROFILES_ACTIVE=local ./gradlew :bootstrap:bootRun
|
||||
#
|
||||
# 这里的账号密码跟 application-local.yml 对齐,都是假值,不是任何环境的真实凭证。
|
||||
|
||||
services:
|
||||
mysql:
|
||||
image: mysql:8.4
|
||||
container_name: conti-mysql
|
||||
ports:
|
||||
- "3306:3306"
|
||||
environment:
|
||||
MYSQL_ROOT_PASSWORD: root_local_password
|
||||
MYSQL_USER: conti
|
||||
MYSQL_PASSWORD: conti_local_password
|
||||
command:
|
||||
# 字符集跟 UAT/Prod 的 Azure Flexible Server 对齐:8.0 之后的默认排序规则是
|
||||
# utf8mb4_0900_ai_ci,本地用别的会出现"本地大小写敏感、线上不敏感"这类差异。
|
||||
- --character-set-server=utf8mb4
|
||||
- --collation-server=utf8mb4_0900_ai_ci
|
||||
# 应用侧全用 UTC Instant 存取(见 03-persistence.md),服务端时区也钉成 UTC
|
||||
- --default-time-zone=+00:00
|
||||
volumes:
|
||||
- conti-mysql-data:/var/lib/mysql
|
||||
# 一个 domain 一个 database,Flyway 起来之前这几个库得先存在(见 DomainFlywayConfig)
|
||||
- ./docker/mysql/init:/docker-entrypoint-initdb.d:ro
|
||||
healthcheck:
|
||||
test: ["CMD", "mysqladmin", "ping", "-h", "127.0.0.1", "-uroot", "-proot_local_password"]
|
||||
interval: 5s
|
||||
timeout: 3s
|
||||
retries: 20
|
||||
|
||||
volumes:
|
||||
conti-mysql-data:
|
||||
Reference in New Issue
Block a user