mirror of
https://github.com/ZeroCatDev/ClassworksKV.git
synced 2025-07-01 20:09:23 +00:00
69 lines
1.8 KiB
YAML
69 lines
1.8 KiB
YAML
version: '3.8'
|
|
|
|
services:
|
|
mysql:
|
|
image: mysql:8.0
|
|
container_name: classworks_mysql
|
|
restart: unless-stopped
|
|
environment:
|
|
MYSQL_ROOT_PASSWORD: ${MYSQL_ROOT_PASSWORD:-classworks}
|
|
MYSQL_DATABASE: ${MYSQL_DATABASE:-classworks}
|
|
MYSQL_USER: ${MYSQL_USER:-classworks}
|
|
MYSQL_PASSWORD: ${MYSQL_PASSWORD:-classworks}
|
|
TZ: Asia/Shanghai
|
|
ports:
|
|
- "3306:3306"
|
|
volumes:
|
|
- mysql_data:/var/lib/mysql
|
|
- ./mysql/conf.d:/etc/mysql/conf.d:ro
|
|
- ./mysql/initdb.d:/docker-entrypoint-initdb.d:ro
|
|
command:
|
|
- --character-set-server=utf8mb4
|
|
- --collation-server=utf8mb4_unicode_ci
|
|
- --default-authentication-plugin=mysql_native_password
|
|
healthcheck:
|
|
test: ["CMD", "mysqladmin", "ping", "-h", "localhost", "-u$$MYSQL_USER", "-p$$MYSQL_PASSWORD"]
|
|
interval: 10s
|
|
timeout: 5s
|
|
retries: 5
|
|
networks:
|
|
- classworks_net
|
|
|
|
postgres:
|
|
image: postgres:15-alpine
|
|
container_name: classworks_postgres
|
|
restart: unless-stopped
|
|
environment:
|
|
POSTGRES_DB: ${POSTGRES_DB:-classworks}
|
|
POSTGRES_USER: ${POSTGRES_USER:-classworks}
|
|
POSTGRES_PASSWORD: ${POSTGRES_PASSWORD:-classworks}
|
|
TZ: Asia/Shanghai
|
|
ports:
|
|
- "5432:5432"
|
|
volumes:
|
|
- postgres_data:/var/lib/postgresql/data
|
|
- ./postgres/initdb.d:/docker-entrypoint-initdb.d:ro
|
|
command:
|
|
- "postgres"
|
|
- "-c"
|
|
- "max_connections=100"
|
|
- "-c"
|
|
- "shared_buffers=128MB"
|
|
healthcheck:
|
|
test: ["CMD-SHELL", "pg_isready -U $$POSTGRES_USER -d $$POSTGRES_DB"]
|
|
interval: 10s
|
|
timeout: 5s
|
|
retries: 5
|
|
networks:
|
|
- classworks_net
|
|
|
|
volumes:
|
|
mysql_data:
|
|
name: classworks_mysql_data
|
|
postgres_data:
|
|
name: classworks_postgres_data
|
|
|
|
networks:
|
|
classworks_net:
|
|
name: classworks_network
|
|
driver: bridge |