264 lines
5.4 KiB
YAML
264 lines
5.4 KiB
YAML
version: '3.8'
|
|
|
|
services:
|
|
# 基础设施服务
|
|
mysql:
|
|
image: mysql:8.0
|
|
container_name: mysql
|
|
restart: always
|
|
environment:
|
|
MYSQL_ROOT_PASSWORD: root
|
|
MYSQL_DATABASE: video_platform
|
|
MYSQL_USER: video
|
|
MYSQL_PASSWORD: video123
|
|
ports:
|
|
- "3306:3306"
|
|
volumes:
|
|
- mysql_data:/var/lib/mysql
|
|
- ./sql:/docker-entrypoint-initdb.d
|
|
command: --character-set-server=utf8mb4 --collation-server=utf8mb4_unicode_ci --default-authentication-plugin=mysql_native_password
|
|
networks:
|
|
- video-network
|
|
|
|
redis:
|
|
image: redis:7.0-alpine
|
|
container_name: redis
|
|
restart: always
|
|
ports:
|
|
- "6379:6379"
|
|
volumes:
|
|
- redis_data:/data
|
|
command: redis-server --requirepass redis_EsJ8FX
|
|
networks:
|
|
- video-network
|
|
|
|
nacos:
|
|
image: nacos/nacos-server:v2.3.2
|
|
container_name: nacos
|
|
restart: always
|
|
environment:
|
|
- MODE=standalone
|
|
- JVM_XMS=512m
|
|
- JVM_XMX=512m
|
|
ports:
|
|
- "8848:8848"
|
|
- "9848:9848"
|
|
- "9849:9849"
|
|
networks:
|
|
- video-network
|
|
|
|
rmqnamesrv:
|
|
image: apache/rocketmq:5.1.4
|
|
container_name: rmqnamesrv
|
|
restart: always
|
|
ports:
|
|
- "9876:9876"
|
|
command: sh mqnamesrv
|
|
networks:
|
|
- video-network
|
|
|
|
rmqbroker:
|
|
image: apache/rocketmq:5.1.4
|
|
container_name: rmqbroker
|
|
restart: always
|
|
ports:
|
|
- "10909:10909"
|
|
- "10911:10911"
|
|
environment:
|
|
- NAMESRV_ADDR=rmqnamesrv:9876
|
|
- JAVA_OPTS=-Duser.home=/opt
|
|
command: sh mqbroker -c /home/rocketmq/rocketmq-5.1.4/conf/broker.conf
|
|
depends_on:
|
|
- rmqnamesrv
|
|
networks:
|
|
- video-network
|
|
|
|
minio:
|
|
image: quay.io/minio/minio
|
|
container_name: minio
|
|
restart: always
|
|
ports:
|
|
- "9002:9000"
|
|
- "9001:9001"
|
|
environment:
|
|
- MINIO_ROOT_USER=minioadmin
|
|
- MINIO_ROOT_PASSWORD=minioadmin
|
|
volumes:
|
|
- minio_data:/data
|
|
command: server /data --console-address ":9001"
|
|
networks:
|
|
- video-network
|
|
|
|
sentinel:
|
|
image: sentinel-dashboard:1.8.6
|
|
container_name: sentinel
|
|
restart: always
|
|
ports:
|
|
- "8080:8080"
|
|
networks:
|
|
- video-network
|
|
|
|
# 微服务
|
|
video-gateway:
|
|
build:
|
|
context: ./video-gateway
|
|
dockerfile: Dockerfile
|
|
container_name: video-gateway
|
|
restart: always
|
|
ports:
|
|
- "9000:9000"
|
|
environment:
|
|
- SPRING_PROFILES_ACTIVE=prod
|
|
- NACOS_HOST=nacos
|
|
- NACOS_PORT=8848
|
|
- SENTINEL_HOST=sentinel
|
|
- SENTINEL_PORT=8080
|
|
depends_on:
|
|
- nacos
|
|
- sentinel
|
|
networks:
|
|
- video-network
|
|
|
|
video-auth:
|
|
build:
|
|
context: ./video-auth
|
|
dockerfile: Dockerfile
|
|
container_name: video-auth
|
|
restart: always
|
|
environment:
|
|
- SPRING_PROFILES_ACTIVE=prod
|
|
- NACOS_HOST=nacos
|
|
- NACOS_PORT=8848
|
|
- MYSQL_HOST=mysql
|
|
- MYSQL_PORT=3306
|
|
- REDIS_HOST=redis
|
|
- REDIS_PORT=6379
|
|
depends_on:
|
|
- nacos
|
|
- mysql
|
|
- redis
|
|
networks:
|
|
- video-network
|
|
|
|
video-user:
|
|
build:
|
|
context: ./video-user
|
|
dockerfile: Dockerfile
|
|
container_name: video-user
|
|
restart: always
|
|
environment:
|
|
- SPRING_PROFILES_ACTIVE=prod
|
|
- NACOS_HOST=nacos
|
|
- NACOS_PORT=8848
|
|
- MYSQL_HOST=mysql
|
|
- MYSQL_PORT=3306
|
|
- REDIS_HOST=redis
|
|
- REDIS_PORT=6379
|
|
depends_on:
|
|
- nacos
|
|
- mysql
|
|
- redis
|
|
networks:
|
|
- video-network
|
|
|
|
video-content:
|
|
build:
|
|
context: ./video-content
|
|
dockerfile: Dockerfile
|
|
container_name: video-content
|
|
restart: always
|
|
environment:
|
|
- SPRING_PROFILES_ACTIVE=prod
|
|
- NACOS_HOST=nacos
|
|
- NACOS_PORT=8848
|
|
- MYSQL_HOST=mysql
|
|
- MYSQL_PORT=3306
|
|
- REDIS_HOST=redis
|
|
- REDIS_PORT=6379
|
|
- ROCKETMQ_HOST=rmqnamesrv
|
|
- ROCKETMQ_PORT=9876
|
|
- MINIO_HOST=minio
|
|
- MINIO_PORT=9000
|
|
- MINIO_ACCESS_KEY=minioadmin
|
|
- MINIO_SECRET_KEY=minioadmin
|
|
- MINIO_BUCKET=video-platform
|
|
depends_on:
|
|
- nacos
|
|
- mysql
|
|
- redis
|
|
- rmqnamesrv
|
|
- minio
|
|
networks:
|
|
- video-network
|
|
|
|
video-admin:
|
|
build:
|
|
context: ./video-admin
|
|
dockerfile: Dockerfile
|
|
container_name: video-admin
|
|
restart: always
|
|
environment:
|
|
- SPRING_PROFILES_ACTIVE=prod
|
|
- NACOS_HOST=nacos
|
|
- NACOS_PORT=8848
|
|
- MYSQL_HOST=mysql
|
|
- MYSQL_PORT=3306
|
|
- REDIS_HOST=redis
|
|
- REDIS_PORT=6379
|
|
depends_on:
|
|
- nacos
|
|
- mysql
|
|
- redis
|
|
networks:
|
|
- video-network
|
|
|
|
video-comment:
|
|
build:
|
|
context: ./video-comment
|
|
dockerfile: Dockerfile
|
|
container_name: video-comment
|
|
restart: always
|
|
environment:
|
|
- SPRING_PROFILES_ACTIVE=prod
|
|
- NACOS_HOST=nacos
|
|
- NACOS_PORT=8848
|
|
- MYSQL_HOST=mysql
|
|
- MYSQL_PORT=3306
|
|
- REDIS_HOST=redis
|
|
- REDIS_PORT=6379
|
|
depends_on:
|
|
- nacos
|
|
- mysql
|
|
- redis
|
|
networks:
|
|
- video-network
|
|
|
|
video-recommend:
|
|
build:
|
|
context: ./video-recommend
|
|
dockerfile: Dockerfile
|
|
container_name: video-recommend
|
|
restart: always
|
|
environment:
|
|
- SPRING_PROFILES_ACTIVE=prod
|
|
- NACOS_HOST=nacos
|
|
- NACOS_PORT=8848
|
|
- MYSQL_HOST=mysql
|
|
- MYSQL_PORT=3306
|
|
- REDIS_HOST=redis
|
|
- REDIS_PORT=6379
|
|
depends_on:
|
|
- nacos
|
|
- mysql
|
|
- redis
|
|
networks:
|
|
- video-network
|
|
|
|
networks:
|
|
video-network:
|
|
driver: bridge
|
|
|
|
volumes:
|
|
mysql_data:
|
|
redis_data:
|
|
minio_data: |