90 lines
2.3 KiB
YAML
90 lines
2.3 KiB
YAML
services:
|
|
# MySQL 8.0.24 服务
|
|
mysql:
|
|
build:
|
|
context: ../config/mysql
|
|
dockerfile: Dockerfile
|
|
args:
|
|
MYSQL_BASE_IMAGE: mysql:8.0.24
|
|
MYSQL_CONF: my.cnf.16c32g
|
|
container_name: mysql_db
|
|
restart: unless-stopped
|
|
environment:
|
|
TZ: Asia/Shanghai
|
|
MYSQL_ROOT_PASSWORD: 123456
|
|
MYSQL_DATABASE: changzhou
|
|
MYSQL_USER: changzhou
|
|
MYSQL_PASSWORD: iTSJSPPZM3LSGAPC
|
|
ports:
|
|
- "127.0.0.1:23306:3306"
|
|
volumes:
|
|
- mysql_data:/var/lib/mysql
|
|
logging:
|
|
driver: json-file
|
|
options:
|
|
max-size: "50m"
|
|
max-file: "3"
|
|
healthcheck:
|
|
test: ["CMD", "mysqladmin", "ping", "-h", "localhost", "-uroot", "-p123456"]
|
|
interval: 10s
|
|
timeout: 5s
|
|
retries: 5
|
|
start_period: 30s
|
|
networks:
|
|
- changzhou_app_network
|
|
|
|
# Redis 服务
|
|
redis:
|
|
image: redis:latest
|
|
container_name: redis_cache
|
|
restart: unless-stopped
|
|
command: redis-server /usr/local/etc/redis/redis.conf
|
|
ports:
|
|
- "127.0.0.1:26379:6379"
|
|
logging:
|
|
driver: json-file
|
|
options:
|
|
max-size: "50m"
|
|
max-file: "3"
|
|
networks:
|
|
- changzhou_app_network
|
|
|
|
# RabbitMQ 3.9 服务
|
|
rabbitmq:
|
|
image: rabbitmq:3.9-management
|
|
container_name: rabbitmq_server
|
|
restart: unless-stopped
|
|
environment:
|
|
RABBITMQ_DEFAULT_USER: skins
|
|
RABBITMQ_DEFAULT_PASS: mk
|
|
ports:
|
|
- "127.0.0.1:25672:5672"
|
|
- "127.0.0.1:35672:15672"
|
|
command: >
|
|
bash -c "rabbitmq-server &
|
|
sleep 20 &&
|
|
rabbitmqctl add_vhost /skins &&
|
|
rabbitmqctl set_permissions -p /skins skins '.*' '.*' '.*' &&
|
|
rabbitmqadmin --vhost=/skins --username=skins --password=mk declare queue name=notice_queue durable=true &&
|
|
rabbitmqadmin --vhost=/skins --username=skins --password=mk declare queue name=dlk_queue durable=true &&
|
|
rabbitmqadmin --vhost=/skins --username=skins --password=mk declare queue name=delivery_queue durable=true &&
|
|
wait"
|
|
logging:
|
|
driver: json-file
|
|
options:
|
|
max-size: "50m"
|
|
max-file: "3"
|
|
networks:
|
|
- changzhou_app_network
|
|
|
|
# 定义数据卷(external 固定卷名,不随目录变化,防止换目录丢数据)
|
|
volumes:
|
|
mysql_data:
|
|
external: true
|
|
name: changzhou_mysql_data
|
|
|
|
# 定义网络
|
|
networks:
|
|
changzhou_app_network:
|
|
driver: bridge
|