mirror of
https://github.com/BgaSol/sol-cloud
synced 2026-04-21 17:17:16 +00:00
137 lines
No EOL
3.8 KiB
YAML
137 lines
No EOL
3.8 KiB
YAML
version: '3'
|
|
|
|
networks:
|
|
cloud-app:
|
|
driver: bridge
|
|
services:
|
|
# Nacos
|
|
cloud-app-nacos:
|
|
image: nacos/nacos-server:v2.5.0
|
|
container_name: cloud-app-nacos
|
|
restart: unless-stopped
|
|
ports:
|
|
- "8848:8848"
|
|
- "9848:9848"
|
|
- "9849:9849"
|
|
environment:
|
|
MODE: standalone
|
|
NACOS_APPLICATION_PORT: 8848
|
|
SPRING_DATASOURCE_PLATFORM: mysql
|
|
MYSQL_SERVICE_HOST: cloud-app-nacos-mysql
|
|
MYSQL_SERVICE_PORT: 3306
|
|
MYSQL_SERVICE_DB_NAME: nacos
|
|
MYSQL_SERVICE_USER: ${NACOS_MYSQL_USER}
|
|
MYSQL_SERVICE_PASSWORD: ${NACOS_MYSQL_PASSWORD}
|
|
NACOS_AUTH_ENABLE: true
|
|
NACOS_AUTH_TOKEN: ${NACOS_AUTH_TOKEN}
|
|
NACOS_AUTH_IDENTITY_KEY: ${NACOS_AUTH_IDENTITY_KEY}
|
|
NACOS_AUTH_IDENTITY_VALUE: ${NACOS_AUTH_IDENTITY_SECRET}
|
|
networks:
|
|
- cloud-app
|
|
volumes:
|
|
- ./data/nacos/logs:/home/nacos/logs
|
|
depends_on:
|
|
- cloud-app-nacos-mysql
|
|
# MySQL
|
|
cloud-app-nacos-mysql:
|
|
image: mysql:5.7
|
|
container_name: cloud-app-nacos-mysql
|
|
restart: unless-stopped
|
|
environment:
|
|
MYSQL_ROOT_PASSWORD: ${NACOS_MYSQL_PASSWORD}
|
|
MYSQL_USER: ${NACOS_MYSQL_USER}
|
|
MYSQL_PASSWORD: ${NACOS_MYSQL_PASSWORD}
|
|
MYSQL_DATABASE: nacos
|
|
ports:
|
|
- "3306:3306"
|
|
volumes:
|
|
- ./data/mysql/data:/var/lib/mysql
|
|
- ./data/mysql/logs:/var/log/mysql
|
|
- ./config/mysql/initdb:/docker-entrypoint-initdb.d
|
|
networks:
|
|
- cloud-app
|
|
# Minio 服务
|
|
cloud-app-minio:
|
|
image: minio/minio:RELEASE.2024-11-07T00-52-20Z
|
|
container_name: cloud-app-minio
|
|
restart: unless-stopped
|
|
command:
|
|
- server
|
|
- /data
|
|
- --console-address
|
|
- :9001
|
|
ports:
|
|
- "9000:9000"
|
|
- "9001:9001"
|
|
environment:
|
|
MINIO_ROOT_USER: ${MINIO_ROOT_USER}
|
|
MINIO_ROOT_PASSWORD: ${MINIO_ROOT_PASSWORD}
|
|
volumes:
|
|
- ./data/minio/data:/data
|
|
- ./data/minio/root/.minio:/root/.minio
|
|
networks:
|
|
- cloud-app
|
|
# PostgreSQL 数据库服务
|
|
cloud-app-postgres:
|
|
image: postgres:17.2
|
|
container_name: cloud-app-postgres
|
|
restart: unless-stopped
|
|
environment:
|
|
POSTGRES_USER: ${POSTGRES_USER}
|
|
POSTGRES_PASSWORD: ${POSTGRES_PASSWORD}
|
|
volumes:
|
|
- ./data/postgres/data:/var/lib/postgresql/data
|
|
- ./data/postgres/log:/var/log/postgresql
|
|
- ./config/postgres/initdb:/docker-entrypoint-initdb.d
|
|
ports:
|
|
- "5432:5432"
|
|
networks:
|
|
- cloud-app
|
|
# Redis 服务
|
|
cloud-app-redis:
|
|
image: redis:7.4.2
|
|
container_name: cloud-app-redis
|
|
restart: unless-stopped
|
|
environment:
|
|
REDIS_PASSWORD: ${REDIS_PASSWORD}
|
|
command:
|
|
- /bin/sh
|
|
- -c
|
|
- redis-server --requirepass $$REDIS_PASSWORD
|
|
volumes:
|
|
- ./data/redis/data:/data
|
|
ports:
|
|
- "6379:6379"
|
|
networks:
|
|
- cloud-app
|
|
# Seata 服务
|
|
cloud-app-seata:
|
|
image: seataio/seata-server:1.8.0.2
|
|
container_name: cloud-app-seata
|
|
restart: unless-stopped
|
|
ports:
|
|
- "8091:8091"
|
|
- "7091:7091"
|
|
environment:
|
|
SEATA_IP: 192.168.1.7 # 请根据实际情况修改 IP 地址,注意不要使用 localhost 或 127.0.0.1
|
|
SEATA_SERVER_PORT: 7091
|
|
SEATA_SERVER_NAME: cloud-app-seata
|
|
SEATA_NACOS_HOST: cloud-app-nacos
|
|
SEATA_NACOS_PORT: 8848
|
|
SEATA_NACOS_USERNAME: ${NACOS_USER}
|
|
SEATA_NACOS_PASSWORD: ${NACOS_PASSWORD}
|
|
SEATA_POSTGRES_HOST: cloud-app-postgres
|
|
SEATA_POSTGRES_PORT: 5432
|
|
SEATA_POSTGRES_DB: seata
|
|
SEATA_POSTGRES_USER: ${POSTGRES_USER}
|
|
SEATA_POSTGRES_PASSWORD: ${POSTGRES_PASSWORD}
|
|
SEATA_SECRET_KEY: ${SEATA_SECRET_KEY}
|
|
SEATA_USER: ${SEATA_USER}
|
|
SEATA_PASSWORD: ${SEATA_PASSWORD}
|
|
volumes:
|
|
- ./config/seata/resources/application.yml:/seata-server/resources/application.yml
|
|
networks:
|
|
- cloud-app
|
|
depends_on:
|
|
- cloud-app-postgres
|
|
- cloud-app-nacos |