Files
happy-life-star/backend/docker-compose-local.yml
T

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