txw/devops/docker-compose.infra.prod.yml

108 lines
2.6 KiB
YAML

version: '3.8'
# ============================================================
# 碳信网 - 基础设施服务
# 使用方式:
# 启动基础设施: docker-compose up -d
# ============================================================
services:
nacos:
image: nacos/nacos-server:v3.0.2
container_name: txw-nacos
expose:
- "8848"
- "9848"
- "9849"
environment:
- MODE=standalone
- PREFER_HOST_MODE=hostname
- JVM_XMS=512m
- JVM_XMX=512m
- JVM_XMN=256m
- NACOS_AUTH_ENABLE=true
- NACOS_AUTH_IDENTITY_KEY=1qazXSW@3edcVFR$
- NACOS_AUTH_IDENTITY_VALUE=7ygvBHU*9ijnMKO)
- NACOS_AUTH_TOKEN=TmFjb3NBdXRoVG9rZW5TZWNyZXRLZXkyMDI0Rm9yRGV2RW52aXJvbm1lbnQ=
- NACOS_CORE_AUTH_SERVER_IDENTITY_KEY=nacos
- NACOS_CORE_AUTH_SERVER_IDENTITY_VALUE=nacos2024
volumes:
- ./nacos/data:/home/nacos/data
- ./nacos/logs:/home/nacos/logs
healthcheck:
test: ["CMD", "curl", "-f", "http://localhost:8848/nacos"]
interval: 30s
timeout: 10s
retries: 5
networks:
- txw-network
redis:
image: redis:latest
container_name: txw-redis
expose:
- "6379"
command: redis-server --ignore-warnings ARM64-COW-BUG --requirepass redis_password
volumes:
- redis-data:/data
healthcheck:
test: ["CMD", "redis-cli", "ping"]
interval: 30s
timeout: 10s
retries: 5
networks:
- txw-network
minio:
image: minio/minio:latest
container_name: txw-minio
expose:
- "9000"
- "9001"
environment:
- MINIO_ROOT_USER=minioadmin
- MINIO_ROOT_PASSWORD=minioadmin123
command: server /data --console-address ":9001"
volumes:
- ./minio-data:/data
healthcheck:
test: ["CMD", "curl", "-f", "http://localhost:9000/minio/health/live"]
interval: 30s
timeout: 10s
retries: 5
networks:
- txw-network
mysql:
image: biarms/mysql:5.7
container_name: txw-mysql
expose:
- "3306"
environment:
- MYSQL_ROOT_PASSWORD=MysqlRootPwd@2024#Secure
- MYSQL_DATABASE=txw_db
volumes:
- ./mysql-data:/var/lib/mysql
- ./mysql-init:/docker-entrypoint-initdb.d
command: --character-set-server=utf8mb4 --collation-server=utf8mb4_unicode_ci
healthcheck:
test: ["CMD", "mysqladmin", "ping", "-h", "localhost", "-u", "root", "-pMysqlRootPwd@2024#Secure"]
interval: 30s
timeout: 10s
retries: 5
networks:
- txw-network
networks:
txw-network:
name: txw-network
driver: bridge
external: true
volumes:
nacos-data:
redis-data:
minio-data:
mysql-data: