docker更新
This commit is contained in:
@@ -0,0 +1,101 @@
|
||||
name: jiaowu-demo
|
||||
|
||||
x-jiaowu-image: &jiaowu-image
|
||||
image: "${JIAOWU_IMAGE:-jiaowu:local}"
|
||||
build:
|
||||
context: .
|
||||
dockerfile: Dockerfile
|
||||
|
||||
x-jiaowu-environment: &jiaowu-environment
|
||||
ASPNETCORE_ENVIRONMENT: Production
|
||||
ASPNETCORE_HTTP_PORTS: "8080"
|
||||
Database__Provider: MySql
|
||||
Database__ApplyMigrationsOnStartup: "false"
|
||||
Database__CommandTimeoutSeconds: "30"
|
||||
ConnectionStrings__MySql: "Server=mysql;Port=3306;Database=${MYSQL_DATABASE:-jiaowu_demo};User=${MYSQL_USER:-jiaowu};Password=${MYSQL_PASSWORD:?请在 .env.docker 中设置 MYSQL_PASSWORD};SslMode=Disabled;"
|
||||
Jwt__Issuer: Jiaowu.Api
|
||||
Jwt__Audience: Jiaowu.Web
|
||||
Jwt__Key: "${JWT_KEY:?请在 .env.docker 中设置 JWT_KEY}"
|
||||
Jwt__ExpireMinutes: "60"
|
||||
AllowedHosts: "${ALLOWED_HOSTS:-localhost}"
|
||||
Cors__Origins__0: "${CORS_ORIGIN:-http://localhost:8080}"
|
||||
SeedAdmin__UserName: "${SEED_ADMIN_USERNAME:-}"
|
||||
SeedAdmin__Password: "${SEED_ADMIN_PASSWORD:-}"
|
||||
SeedAdmin__DisplayName: "${SEED_ADMIN_DISPLAY_NAME:-}"
|
||||
|
||||
x-json-logging: &json-logging
|
||||
driver: json-file
|
||||
options:
|
||||
max-size: "10m"
|
||||
max-file: "3"
|
||||
|
||||
services:
|
||||
mysql:
|
||||
image: mysql:8.4
|
||||
restart: unless-stopped
|
||||
environment:
|
||||
MYSQL_DATABASE: "${MYSQL_DATABASE:-jiaowu_demo}"
|
||||
MYSQL_USER: "${MYSQL_USER:-jiaowu}"
|
||||
MYSQL_PASSWORD: "${MYSQL_PASSWORD:?请在 .env.docker 中设置 MYSQL_PASSWORD}"
|
||||
MYSQL_ROOT_PASSWORD: "${MYSQL_ROOT_PASSWORD:?请在 .env.docker 中设置 MYSQL_ROOT_PASSWORD}"
|
||||
command:
|
||||
- --character-set-server=utf8mb4
|
||||
- --collation-server=utf8mb4_0900_ai_ci
|
||||
healthcheck:
|
||||
test:
|
||||
- CMD-SHELL
|
||||
- MYSQL_PWD="$${MYSQL_ROOT_PASSWORD}" mysqladmin ping --host=127.0.0.1 --user=root --silent
|
||||
interval: 5s
|
||||
timeout: 5s
|
||||
retries: 20
|
||||
start_period: 30s
|
||||
volumes:
|
||||
- mysql-data:/var/lib/mysql
|
||||
logging: *json-logging
|
||||
|
||||
migrate:
|
||||
<<: *jiaowu-image
|
||||
command:
|
||||
- --migrate-only
|
||||
environment: *jiaowu-environment
|
||||
depends_on:
|
||||
mysql:
|
||||
condition: service_healthy
|
||||
restart: "no"
|
||||
init: true
|
||||
logging: *json-logging
|
||||
|
||||
app:
|
||||
<<: *jiaowu-image
|
||||
environment: *jiaowu-environment
|
||||
depends_on:
|
||||
mysql:
|
||||
condition: service_healthy
|
||||
migrate:
|
||||
condition: service_completed_successfully
|
||||
ports:
|
||||
- "${JIAOWU_PORT:-8080}:8080"
|
||||
restart: unless-stopped
|
||||
init: true
|
||||
logging: *json-logging
|
||||
|
||||
# 工具型一次性服务:普通 docker compose up 不会执行它。
|
||||
demo-data:
|
||||
<<: *jiaowu-image
|
||||
profiles:
|
||||
- tools
|
||||
command:
|
||||
- --seed-demo-data
|
||||
- --confirm-production-demo-data
|
||||
environment: *jiaowu-environment
|
||||
depends_on:
|
||||
mysql:
|
||||
condition: service_healthy
|
||||
migrate:
|
||||
condition: service_completed_successfully
|
||||
restart: "no"
|
||||
init: true
|
||||
logging: *json-logging
|
||||
|
||||
volumes:
|
||||
mysql-data:
|
||||
Reference in New Issue
Block a user