91 lines
2.2 KiB
YAML
91 lines
2.2 KiB
YAML
services:
|
|
nginx:
|
|
build:
|
|
dockerfile: ./resources/docker/Dockerfile
|
|
target: gmanager-nginx
|
|
ports:
|
|
- 80:80
|
|
environment:
|
|
- NGINX_HOST=gmanager
|
|
- NGINX_PORT=80
|
|
volumes:
|
|
- ./resources/docker/nginx/gmanager.conf:/etc/nginx/conf.d/gmanager.conf
|
|
- ./resources/docker/nginx/nginx.conf:/etc/nginx/nginx.conf
|
|
depends_on:
|
|
mysql:
|
|
condition: service_healthy
|
|
gmanager-server:
|
|
condition: service_started
|
|
networks:
|
|
- gmanager
|
|
restart: on-failure
|
|
extra_hosts:
|
|
- "host.docker.internal:host-gateway"
|
|
|
|
mysql:
|
|
# mysql:5.7 linux/arm64 image is unavailable.
|
|
# image: mysql:8.0.42
|
|
image: mysql:8.4.0-oraclelinux8
|
|
container_name: gmanager-mysql
|
|
environment:
|
|
- MYSQL_ROOT_PASSWORD=123456
|
|
- TZ=Asia/Shanghai
|
|
command:
|
|
--max_connections=1000
|
|
--character-set-server=utf8mb4
|
|
--collation-server=utf8mb4_unicode_ci
|
|
--tls_version="TLSv1.2,TLSv1.3"
|
|
--init-file /data/application/init.sql
|
|
--binlog_expire_logs_seconds=604800
|
|
# --default-authentication-plugin=mysql_native_password
|
|
ports:
|
|
- 3306:3306
|
|
volumes:
|
|
- mysql_data:/var/lib/mysql
|
|
- ./resources/docker/init.sql:/data/application/init.sql
|
|
networks:
|
|
- gmanager
|
|
healthcheck:
|
|
test: ["CMD", "mysqladmin" ,"ping", "-uroot", "-p123456"]
|
|
interval: 10s
|
|
timeout: 10s
|
|
retries: 3
|
|
restart: on-failure
|
|
|
|
redis:
|
|
image: redis:8.0.2
|
|
container_name: gmanager-redis
|
|
command: redis-server --requirepass 123456 --maxmemory 128mb --maxmemory-policy allkeys-lru
|
|
ports:
|
|
- 6379:6379
|
|
volumes:
|
|
- redis_data:/data
|
|
networks:
|
|
- gmanager
|
|
restart: on-failure
|
|
|
|
gmanager-server:
|
|
build:
|
|
dockerfile: ./resources/docker/Dockerfile
|
|
target: gmanager-server
|
|
container_name: gmanager-server
|
|
depends_on:
|
|
mysql:
|
|
condition: service_healthy
|
|
ports:
|
|
- 8000:8000
|
|
volumes:
|
|
- ./resources/docker/config/config.example.yaml:/app/config.yaml
|
|
networks:
|
|
- gmanager
|
|
restart: on-failure
|
|
|
|
volumes:
|
|
mysql_data:
|
|
driver: local
|
|
redis_data:
|
|
driver: local
|
|
|
|
networks:
|
|
gmanager:
|
|
driver: bridge |