# 项目开发
需求场景
现在我需要用 docker compose 来部署
- mysql8(3306 端口)username=root,password=123456
- redis6(无密码,6379端口)、
- rabbitmq v.3.12.6(5672端口 password: guest,username:guest)、
- nacos2.2.0(8848端口);
还有4个本地的springboot服务(名称分别为:
- yuoj-backend-user-service 8102端口、
- yuoj-backend-question-service 8103端口、
- yuoj-backend-judge-service8104端口、
- yuoj-backend-gateway8101端口),每个服务本地目录都有一个Dockerfile,请帮我自动生成dockercompose的yml配置文件,要求这些服务网络能够连通
梳理服务部署表格
服务名称 | 英文名 | 端口号 | 版本号 | 服务类别 |
---|---|---|---|---|
数据库 | mysql | 3306 | v8 | 环境依赖 |
缓存 | redis | 63791 | v6 | 环境依赖 |
消息队列 | rabbitmq | 5672,15672 | v3.12.6 | 环境依赖 |
注册中心 | nacos | 8848 | v2.2.0 | 环境依赖 |
网关服务 | gateway | 8101 | java8 | 业务服务 |
用户服务 | user-service | 8102 | java8 | 业务服务 |
- docker-compose
version: '3.8'
services:
mysql:
image: 'mysql:8'
container_name: mysql_service
restart: always
ports:
- '3306:3306'
environment:
MYSQL_ROOT_PASSWORD: '123456'
MYSQL_DATABASE: 'your_database_name' # 可选,初始化数据库名
volumes:
- mysql_data:/var/lib/mysql
redis:
image: 'redis:6'
container_name: redis_service
ports:
- '6379:6379'
rabbitmq:
image: 'rabbitmq:3.12.6-management'
container_name: rabbitmq_service
ports:
- '5672:5672'
- '15672:15672' # 管理界面端口
environment:
RABBITMQ_DEFAULT_USER: 'guest'
RABBITMQ_DEFAULT_PASS: 'guest'
nacos:
image: 'nacos/nacos-server:2.2.0'
container_name: nacos_service
ports:
- '8848:8848'
environment:
- MODE=standalone
yuoj-backend-user-service:
build: ./yuoj-backend-user-service # 假设这是服务的本地目录
container_name: user-service
ports:
- '8102:8102'
networks:
- backend_net
yuoj-backend-question-service:
build: ./yuoj-backend-question-service
container_name: question-service
ports:
- '8103:8103'
networks:
- backend_net
yuoj-backend-judge-service:
build: ./yuoj-backend-judge-service
container_name: judge-service
ports:
- '8104:8104'
networks:
- backend_net
yuoj-backend-gateway:
build: ./yuoj-backend-gateway
container_name: gateway-service
ports:
- '8101:8101'
networks:
- backend_net
volumes:
mysql_data:
networks:
backend_net:
driver: bridge
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
项目一 →