-
Notifications
You must be signed in to change notification settings - Fork 0
/
docker-compose.yml
150 lines (137 loc) · 2.84 KB
/
docker-compose.yml
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
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
131
132
133
134
135
136
137
138
139
140
141
142
143
144
145
146
147
148
149
150
version: '3.8'
services:
# redis
redisdb:
image: redis:alpine
ports:
- 6378:6379
volumes:
- redisdata:/data
# mysql
mysqldb:
image: mysql
command: --default-authentication-plugin=mysql_native_password
restart: always
environment:
- MYSQL_ROOT_PASSWORD=UpTech20@@08
- MYSQL_USER=root
- MYSQL_PASSWORD=UpTech20@@08
- MYSQL_DATABASE=mall
ports:
- 3307:3306
volumes:
- mysqldata:/var/lib/mysql
# phpmyadmin
phpmyadmin:
image: phpmyadmin
restart: always
ports:
- 9002:80
environment:
- PMA_HOST=mysqldb
- PMA_ARBITRARY=1
- PMA_PORT=3306
- PMA_USER=root
- PMA_PASSWORD=UpTech20@@08
# etcd
Etcd:
image: bitnami/etcd:latest
environment:
- ALLOW_NONE_AUTHENTICATION=yes
- ETCD_ADVERTISE_CLIENT_URLS=http://etcd:2379
ports:
- 2378:2379
- 2381:2380
# rpc services
# user rpc
user-rpc:
build:
context: ./
dockerfile: ./mall/service/user/rpc/Dockerfile
image: user-rpc
restart: always
expose:
- 9000
volumes:
- ./mall/service/user/rpc/etc/:/app/rpc/etc
# product rpc
product-rpc:
build:
context: ./
dockerfile: ./mall/service/product/rpc/Dockerfile
image: product-rpc
restart: always
expose:
- 9001
volumes:
- ./mall/service/product/rpc/etc:/app/rpc/etc
# order rpc
order-rpc:
build:
context: ./
dockerfile: ./mall/service/order/rpc/Dockerfile
image: order-rpc
restart: always
expose:
- 9002
volumes:
- ./mall/service/order/rpc/etc:/app/rpc/etc
# pay rpc
pay-rpc:
build:
context: ./
dockerfile: ./mall/service/pay/rpc/Dockerfile
image: pay-rpc
restart: always
expose:
- 9003
volumes:
- ./mall/service/pay/rpc/etc:/app/rpc/etc
# api services
# user api
user-api:
build:
context: ./
dockerfile: ./mall/service/user/api/Dockerfile
image: user-api
restart: always
expose:
- 8000
volumes:
- ./mall/service/user/api/etc:/app/api/etc
# product api
product-api:
build:
context: ./
dockerfile: ./mall/service/product/api/Dockerfile
image: product-api
restart: always
expose:
- 18001
volumes:
- ./mall/service/product/api/etc:/app/api/etc
# order api
order-api:
build:
context: ./
dockerfile: ./mall/service/order/api/Dockerfile
image: order-api
restart: always
expose:
- 18002
volumes:
- ./mall/service/order/api/etc:/app/api/etc
# pay api
pay-api:
build:
context: ./
dockerfile: ./mall/service/pay/api/Dockerfile
image: pay-api
restart: always
expose:
- 18003
volumes:
- ./mall/service/pay/api/etc:/app/api/etc
volumes:
redisdata:
mysqldata: