231 lines
5.2 KiB
YAML
231 lines
5.2 KiB
YAML
version: "3.8"
|
|
|
|
services:
|
|
nginx:
|
|
image: nginx:alpine
|
|
container_name: im-nginx
|
|
restart: always
|
|
ports:
|
|
- "8009:80"
|
|
volumes:
|
|
- ./nginx.conf:/etc/nginx/nginx.conf:ro
|
|
depends_on:
|
|
- user-service
|
|
- contact-service
|
|
- group-service
|
|
- message-service
|
|
- file-service
|
|
- connector-service
|
|
networks:
|
|
- im-net
|
|
|
|
consul:
|
|
image: consul:1.15
|
|
container_name: im-consul
|
|
restart: always
|
|
volumes:
|
|
- ./consul/data:/consul/data
|
|
command: "agent -server -bootstrap-expect=1 -ui -client=0.0.0.0"
|
|
ports:
|
|
- "8501:8500"
|
|
networks:
|
|
- im-net
|
|
|
|
mysql:
|
|
image: mysql:8.0
|
|
container_name: im-mysql
|
|
restart: always
|
|
environment:
|
|
MYSQL_ROOT_PASSWORD: root123456
|
|
MYSQL_DATABASE: im_db
|
|
MYSQL_USER: im
|
|
MYSQL_PASSWORD: im123456
|
|
ports:
|
|
- "3307:3306"
|
|
command:
|
|
--default-authentication-plugin=mysql_native_password
|
|
volumes:
|
|
- mysql-data:/var/lib/mysql
|
|
networks:
|
|
- im-net
|
|
|
|
redis:
|
|
image: redis:7
|
|
container_name: im-redis
|
|
restart: always
|
|
command: redis-server --appendonly yes
|
|
ports:
|
|
- "6380:6379"
|
|
volumes:
|
|
- redis-data:/data
|
|
networks:
|
|
- im-net
|
|
|
|
rabbitmq:
|
|
image: rabbitmq:3-management
|
|
container_name: im-rabbitmq
|
|
restart: always
|
|
environment:
|
|
RABBITMQ_DEFAULT_USER: im
|
|
RABBITMQ_DEFAULT_PASS: im123456
|
|
ports:
|
|
- "5673:5672"
|
|
- "15673:15672"
|
|
volumes:
|
|
- rabbitmq-data:/var/lib/rabbitmq
|
|
networks:
|
|
- im-net
|
|
|
|
# ── 业务服务 ──────────────────────────────────────
|
|
|
|
user-service:
|
|
image: reg.nxsir.cn/im/user-service:latest
|
|
container_name: im-user-service
|
|
restart: always
|
|
depends_on:
|
|
consul:
|
|
condition: service_started
|
|
mysql:
|
|
condition: service_started
|
|
redis:
|
|
condition: service_started
|
|
rabbitmq:
|
|
condition: service_started
|
|
ports:
|
|
- "5001:8080"
|
|
environment:
|
|
ASPNETCORE_ENVIRONMENT: Production
|
|
ASPNETCORE_URLS: http://+:8080
|
|
CONSUL_URL: http://consul:8500
|
|
networks:
|
|
- im-net
|
|
|
|
contact-service:
|
|
image: reg.nxsir.cn/im/contact-service:latest
|
|
container_name: im-contact-service
|
|
restart: always
|
|
depends_on:
|
|
consul:
|
|
condition: service_started
|
|
mysql:
|
|
condition: service_started
|
|
redis:
|
|
condition: service_started
|
|
rabbitmq:
|
|
condition: service_started
|
|
user-service:
|
|
condition: service_started
|
|
ports:
|
|
- "5002:8080"
|
|
environment:
|
|
ASPNETCORE_ENVIRONMENT: Production
|
|
ASPNETCORE_URLS: http://+:8080
|
|
CONSUL_URL: http://consul:8500
|
|
networks:
|
|
- im-net
|
|
|
|
group-service:
|
|
image: reg.nxsir.cn/im/group-service:latest
|
|
container_name: im-group-service
|
|
restart: always
|
|
depends_on:
|
|
consul:
|
|
condition: service_started
|
|
mysql:
|
|
condition: service_started
|
|
redis:
|
|
condition: service_started
|
|
rabbitmq:
|
|
condition: service_started
|
|
user-service:
|
|
condition: service_started
|
|
ports:
|
|
- "5003:8080"
|
|
environment:
|
|
ASPNETCORE_ENVIRONMENT: Production
|
|
ASPNETCORE_URLS: http://+:8080
|
|
CONSUL_URL: http://consul:8500
|
|
networks:
|
|
- im-net
|
|
|
|
message-service:
|
|
image: reg.nxsir.cn/im/message-service:latest
|
|
container_name: im-message-service
|
|
restart: always
|
|
depends_on:
|
|
consul:
|
|
condition: service_started
|
|
mysql:
|
|
condition: service_started
|
|
redis:
|
|
condition: service_started
|
|
rabbitmq:
|
|
condition: service_started
|
|
user-service:
|
|
condition: service_started
|
|
contact-service:
|
|
condition: service_started
|
|
group-service:
|
|
condition: service_started
|
|
ports:
|
|
- "5004:8080"
|
|
environment:
|
|
ASPNETCORE_ENVIRONMENT: Production
|
|
ASPNETCORE_URLS: http://+:8080
|
|
CONSUL_URL: http://consul:8500
|
|
networks:
|
|
- im-net
|
|
|
|
file-service:
|
|
image: reg.nxsir.cn/im/file-service:latest
|
|
container_name: im-file-service
|
|
restart: always
|
|
depends_on:
|
|
consul:
|
|
condition: service_started
|
|
mysql:
|
|
condition: service_started
|
|
redis:
|
|
condition: service_started
|
|
rabbitmq:
|
|
condition: service_started
|
|
ports:
|
|
- "5005:8080"
|
|
environment:
|
|
ASPNETCORE_ENVIRONMENT: Production
|
|
ASPNETCORE_URLS: http://+:8080
|
|
CONSUL_URL: http://consul:8500
|
|
networks:
|
|
- im-net
|
|
|
|
connector-service:
|
|
image: reg.nxsir.cn/im/connector-service:latest
|
|
container_name: im-connector-service
|
|
restart: always
|
|
depends_on:
|
|
consul:
|
|
condition: service_started
|
|
redis:
|
|
condition: service_started
|
|
rabbitmq:
|
|
condition: service_started
|
|
message-service:
|
|
condition: service_started
|
|
ports:
|
|
- "5008:8080"
|
|
environment:
|
|
ASPNETCORE_ENVIRONMENT: Production
|
|
ASPNETCORE_URLS: http://+:8080
|
|
CONSUL_URL: http://consul:8500
|
|
networks:
|
|
- im-net
|
|
|
|
networks:
|
|
im-net:
|
|
driver: bridge
|
|
|
|
volumes:
|
|
mysql-data:
|
|
redis-data:
|
|
rabbitmq-data:
|