260 lines
7.5 KiB
YAML
260 lines
7.5 KiB
YAML
version: '3.8'
|
|
|
|
services:
|
|
# MySQL数据库
|
|
mysql:
|
|
image: mysql:8.0
|
|
container_name: emotion-mysql
|
|
restart: always
|
|
environment:
|
|
MYSQL_ROOT_PASSWORD: 123456
|
|
MYSQL_DATABASE: emotion_museum
|
|
MYSQL_CHARACTER_SET_SERVER: utf8mb4
|
|
MYSQL_COLLATION_SERVER: utf8mb4_unicode_ci
|
|
ports:
|
|
- "3306:3306"
|
|
volumes:
|
|
- mysql_data:/var/lib/mysql
|
|
- ./mysql_emotion_museum_final.sql:/docker-entrypoint-initdb.d/init.sql
|
|
command: --default-authentication-plugin=mysql_native_password
|
|
networks:
|
|
- emotion-network
|
|
|
|
# Redis缓存
|
|
redis:
|
|
image: redis:7-alpine
|
|
container_name: emotion-redis
|
|
restart: always
|
|
ports:
|
|
- "6379:6379"
|
|
volumes:
|
|
- redis_data:/data
|
|
networks:
|
|
- emotion-network
|
|
|
|
# Nacos注册中心
|
|
nacos:
|
|
image: nacos/nacos-server:v2.2.3
|
|
container_name: emotion-nacos
|
|
restart: always
|
|
environment:
|
|
MODE: standalone
|
|
SPRING_DATASOURCE_PLATFORM: mysql
|
|
MYSQL_SERVICE_HOST: mysql
|
|
MYSQL_SERVICE_PORT: 3306
|
|
MYSQL_SERVICE_DB_NAME: nacos
|
|
MYSQL_SERVICE_USER: root
|
|
MYSQL_SERVICE_PASSWORD: 123456
|
|
MYSQL_SERVICE_DB_PARAM: characterEncoding=utf8&connectTimeout=1000&socketTimeout=3000&autoReconnect=true&useSSL=false&allowPublicKeyRetrieval=true
|
|
ports:
|
|
- "8848:8848"
|
|
- "9848:9848"
|
|
depends_on:
|
|
- mysql
|
|
volumes:
|
|
- nacos_logs:/home/nacos/logs
|
|
networks:
|
|
- emotion-network
|
|
|
|
# 用户服务
|
|
emotion-user:
|
|
build:
|
|
context: .
|
|
dockerfile: emotion-user/Dockerfile
|
|
container_name: emotion-user
|
|
restart: always
|
|
ports:
|
|
- "19001:19001"
|
|
environment:
|
|
SPRING_PROFILES_ACTIVE: local
|
|
SPRING_DATASOURCE_URL: jdbc:mysql://mysql:3306/emotion_museum?useUnicode=true&characterEncoding=utf8&zeroDateTimeBehavior=convertToNull&useSSL=false&serverTimezone=GMT%2B8&allowPublicKeyRetrieval=true
|
|
SPRING_DATASOURCE_USERNAME: root
|
|
SPRING_DATASOURCE_PASSWORD: 123456
|
|
SPRING_DATA_REDIS_HOST: redis
|
|
SPRING_CLOUD_NACOS_DISCOVERY_SERVER_ADDR: nacos:8848
|
|
SPRING_CLOUD_NACOS_CONFIG_SERVER_ADDR: nacos:8848
|
|
depends_on:
|
|
- mysql
|
|
- redis
|
|
- nacos
|
|
networks:
|
|
- emotion-network
|
|
|
|
# AI服务
|
|
emotion-ai:
|
|
build:
|
|
context: .
|
|
dockerfile: emotion-ai/Dockerfile
|
|
container_name: emotion-ai
|
|
restart: always
|
|
ports:
|
|
- "19002:19002"
|
|
environment:
|
|
SPRING_PROFILES_ACTIVE: local
|
|
SPRING_DATASOURCE_URL: jdbc:mysql://mysql:3306/emotion_museum?useUnicode=true&characterEncoding=utf8&zeroDateTimeBehavior=convertToNull&useSSL=false&serverTimezone=GMT%2B8&allowPublicKeyRetrieval=true
|
|
SPRING_DATASOURCE_USERNAME: root
|
|
SPRING_DATASOURCE_PASSWORD: 123456
|
|
SPRING_DATA_REDIS_HOST: redis
|
|
SPRING_CLOUD_NACOS_DISCOVERY_SERVER_ADDR: nacos:8848
|
|
SPRING_CLOUD_NACOS_CONFIG_SERVER_ADDR: nacos:8848
|
|
depends_on:
|
|
- mysql
|
|
- redis
|
|
- nacos
|
|
networks:
|
|
- emotion-network
|
|
|
|
# 记录服务
|
|
emotion-record:
|
|
build:
|
|
context: .
|
|
dockerfile: emotion-record/Dockerfile
|
|
container_name: emotion-record
|
|
restart: always
|
|
ports:
|
|
- "19003:19003"
|
|
environment:
|
|
SPRING_PROFILES_ACTIVE: local
|
|
SPRING_DATASOURCE_URL: jdbc:mysql://mysql:3306/emotion_museum?useUnicode=true&characterEncoding=utf8&zeroDateTimeBehavior=convertToNull&useSSL=false&serverTimezone=GMT%2B8&allowPublicKeyRetrieval=true
|
|
SPRING_DATASOURCE_USERNAME: root
|
|
SPRING_DATASOURCE_PASSWORD: 123456
|
|
SPRING_DATA_REDIS_HOST: redis
|
|
SPRING_CLOUD_NACOS_DISCOVERY_SERVER_ADDR: nacos:8848
|
|
SPRING_CLOUD_NACOS_CONFIG_SERVER_ADDR: nacos:8848
|
|
depends_on:
|
|
- mysql
|
|
- redis
|
|
- nacos
|
|
networks:
|
|
- emotion-network
|
|
|
|
# 成长服务
|
|
emotion-growth:
|
|
build:
|
|
context: .
|
|
dockerfile: emotion-growth/Dockerfile
|
|
container_name: emotion-growth
|
|
restart: always
|
|
ports:
|
|
- "19004:19004"
|
|
environment:
|
|
SPRING_PROFILES_ACTIVE: local
|
|
SPRING_DATASOURCE_URL: jdbc:mysql://mysql:3306/emotion_museum?useUnicode=true&characterEncoding=utf8&zeroDateTimeBehavior=convertToNull&useSSL=false&serverTimezone=GMT%2B8&allowPublicKeyRetrieval=true
|
|
SPRING_DATASOURCE_USERNAME: root
|
|
SPRING_DATASOURCE_PASSWORD: 123456
|
|
SPRING_DATA_REDIS_HOST: redis
|
|
SPRING_CLOUD_NACOS_DISCOVERY_SERVER_ADDR: nacos:8848
|
|
SPRING_CLOUD_NACOS_CONFIG_SERVER_ADDR: nacos:8848
|
|
depends_on:
|
|
- mysql
|
|
- redis
|
|
- nacos
|
|
networks:
|
|
- emotion-network
|
|
|
|
# 探索服务
|
|
emotion-explore:
|
|
build:
|
|
context: .
|
|
dockerfile: emotion-explore/Dockerfile
|
|
container_name: emotion-explore
|
|
restart: always
|
|
ports:
|
|
- "19005:19005"
|
|
environment:
|
|
SPRING_PROFILES_ACTIVE: local
|
|
SPRING_DATASOURCE_URL: jdbc:mysql://mysql:3306/emotion_museum?useUnicode=true&characterEncoding=utf8&zeroDateTimeBehavior=convertToNull&useSSL=false&serverTimezone=GMT%2B8&allowPublicKeyRetrieval=true
|
|
SPRING_DATASOURCE_USERNAME: root
|
|
SPRING_DATASOURCE_PASSWORD: 123456
|
|
SPRING_DATA_REDIS_HOST: redis
|
|
SPRING_CLOUD_NACOS_DISCOVERY_SERVER_ADDR: nacos:8848
|
|
SPRING_CLOUD_NACOS_CONFIG_SERVER_ADDR: nacos:8848
|
|
depends_on:
|
|
- mysql
|
|
- redis
|
|
- nacos
|
|
networks:
|
|
- emotion-network
|
|
|
|
# 奖励服务
|
|
emotion-reward:
|
|
build:
|
|
context: .
|
|
dockerfile: emotion-reward/Dockerfile
|
|
container_name: emotion-reward
|
|
restart: always
|
|
ports:
|
|
- "19006:19006"
|
|
environment:
|
|
SPRING_PROFILES_ACTIVE: local
|
|
SPRING_DATASOURCE_URL: jdbc:mysql://mysql:3306/emotion_museum?useUnicode=true&characterEncoding=utf8&zeroDateTimeBehavior=convertToNull&useSSL=false&serverTimezone=GMT%2B8&allowPublicKeyRetrieval=true
|
|
SPRING_DATASOURCE_USERNAME: root
|
|
SPRING_DATASOURCE_PASSWORD: 123456
|
|
SPRING_DATA_REDIS_HOST: redis
|
|
SPRING_CLOUD_NACOS_DISCOVERY_SERVER_ADDR: nacos:8848
|
|
SPRING_CLOUD_NACOS_CONFIG_SERVER_ADDR: nacos:8848
|
|
depends_on:
|
|
- mysql
|
|
- redis
|
|
- nacos
|
|
networks:
|
|
- emotion-network
|
|
|
|
# 统计服务
|
|
emotion-stats:
|
|
build:
|
|
context: .
|
|
dockerfile: emotion-stats/Dockerfile
|
|
container_name: emotion-stats
|
|
restart: always
|
|
ports:
|
|
- "19007:19007"
|
|
environment:
|
|
SPRING_PROFILES_ACTIVE: local
|
|
SPRING_DATASOURCE_URL: jdbc:mysql://mysql:3306/emotion_museum?useUnicode=true&characterEncoding=utf8&zeroDateTimeBehavior=convertToNull&useSSL=false&serverTimezone=GMT%2B8&allowPublicKeyRetrieval=true
|
|
SPRING_DATASOURCE_USERNAME: root
|
|
SPRING_DATASOURCE_PASSWORD: 123456
|
|
SPRING_DATA_REDIS_HOST: redis
|
|
SPRING_CLOUD_NACOS_DISCOVERY_SERVER_ADDR: nacos:8848
|
|
SPRING_CLOUD_NACOS_CONFIG_SERVER_ADDR: nacos:8848
|
|
depends_on:
|
|
- mysql
|
|
- redis
|
|
- nacos
|
|
networks:
|
|
- emotion-network
|
|
|
|
# 网关服务
|
|
emotion-gateway:
|
|
build:
|
|
context: .
|
|
dockerfile: emotion-gateway/Dockerfile
|
|
container_name: emotion-gateway
|
|
restart: always
|
|
ports:
|
|
- "19000:19000"
|
|
environment:
|
|
SPRING_PROFILES_ACTIVE: local
|
|
SPRING_DATA_REDIS_HOST: redis
|
|
SPRING_CLOUD_NACOS_DISCOVERY_SERVER_ADDR: nacos:8848
|
|
SPRING_CLOUD_NACOS_CONFIG_SERVER_ADDR: nacos:8848
|
|
depends_on:
|
|
- emotion-user
|
|
- emotion-ai
|
|
- emotion-record
|
|
- emotion-growth
|
|
- emotion-explore
|
|
- emotion-reward
|
|
- emotion-stats
|
|
networks:
|
|
- emotion-network
|
|
|
|
volumes:
|
|
mysql_data:
|
|
redis_data:
|
|
nacos_logs:
|
|
|
|
networks:
|
|
emotion-network:
|
|
driver: bridge
|