Files
mp-java/docker-compose.yml

94 lines
2.1 KiB
YAML
Raw Blame History

This file contains ambiguous Unicode characters

This file contains Unicode characters that might be confused with other characters. If you think that this is intentional, you can safely ignore this warning. Use the Escape button to reveal them.

version: '3.8'
services:
# 应用服务
cms-app:
build: .
container_name: cms-java-app
ports:
- "9200:9200"
environment:
- SPRING_PROFILES_ACTIVE=prod
- JAVA_OPTS=-Xms512m -Xmx1024m
volumes:
# 证书挂载卷 - 将宿主机证书目录挂载到容器
- ./certs:/app/certs:ro
# 日志挂载卷
- ./logs:/app/logs
# 上传文件挂载卷
- ./uploads:/app/uploads
networks:
- cms-network
depends_on:
- mysql
- redis
restart: unless-stopped
healthcheck:
test: ["CMD", "wget", "--no-verbose", "--tries=1", "--spider", "http://localhost:9200/actuator/health"]
interval: 30s
timeout: 10s
retries: 3
start_period: 60s
# MySQL数据库
mysql:
image: mysql:8.0
container_name: cms-mysql
environment:
MYSQL_ROOT_PASSWORD: root123456
MYSQL_DATABASE: modules
MYSQL_USER: modules
MYSQL_PASSWORD: 8YdLnk7KsPAyDXGA
ports:
- "3308:3306"
volumes:
- mysql_data:/var/lib/mysql
- ./mysql/conf:/etc/mysql/conf.d
- ./mysql/init:/docker-entrypoint-initdb.d
networks:
- cms-network
restart: unless-stopped
command: --default-authentication-plugin=mysql_native_password
# Redis缓存
redis:
image: redis:6.2-alpine
container_name: cms-redis
ports:
- "16379:6379"
volumes:
- redis_data:/data
- ./redis/redis.conf:/usr/local/etc/redis/redis.conf
networks:
- cms-network
restart: unless-stopped
command: redis-server /usr/local/etc/redis/redis.conf
# Nginx反向代理可选
nginx:
image: nginx:alpine
container_name: cms-nginx
ports:
- "80:80"
- "443:443"
volumes:
- ./nginx/nginx.conf:/etc/nginx/nginx.conf
- ./nginx/conf.d:/etc/nginx/conf.d
- ./nginx/ssl:/etc/nginx/ssl
- ./uploads:/var/www/uploads
networks:
- cms-network
depends_on:
- cms-app
restart: unless-stopped
networks:
cms-network:
driver: bridge
volumes:
mysql_data:
driver: local
redis_data:
driver: local