-
Notifications
You must be signed in to change notification settings - Fork 0
/
docker-compose-deploy.yml
136 lines (128 loc) · 3.2 KB
/
docker-compose-deploy.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
version: '3.7'
services:
### Only use when Program: {docker swarm, Kubernetes ...}
## This may take 120 seconds or more. You will need to make sure that mysql is turned on with the "service ls" command so spring will be turned on.
dontcallme:
image: wbfw109/dontcallme:0.0.1-SNAPSHOT
depends_on:
- mysql
environment:
SPRING_PROFILES_ACTIVE: prod
ports:
- 8081:8081
networks:
- swarm
deploy:
replicas: 3
resources:
limits:
cpus: '0.5'
memory: 200M
restart_policy:
condition: any
delay: 10s
max_attempts: 3
window: 10s
secrets:
- mysql_database
- mysql_user
- mysql_user_password
- server_store_password
mysql:
image: mysql
healthcheck:
test: ["CMD", "mysql", "--version"]
interval: 1m
timeout: 10s
retries: 3
start_period: 60s
environment:
MYSQL_DATABASE_FILE: /run/secrets/mysql_database
MYSQL_USER_FILE: /run/secrets/mysql_user
MYSQL_PASSWORD_FILE: /run/secrets/mysql_user_password
MYSQL_ROOT_PASSWORD_FILE: /run/secrets/mysql_root_password
ports:
- 3306:3306
networks:
- swarm
deploy:
mode: global
resources:
limits:
cpus: '1.00'
memory: 500M
restart_policy:
condition: any
delay: 10s
max_attempts: 3
window: 10s
secrets:
- mysql_database
- mysql_user
- mysql_user_password
- mysql_root_password
#management containers for manager
portainer:
image: portainer/portainer
volumes:
- type: bind
source: //var/run/docker.sock
target: /var/run/docker.sock
ports:
- 8000:8000
- 9000:9000
networks:
- swarm
deploy:
mode: global
placement:
constraints:
- node.role == manager
restart_policy:
condition: any
delay: 10s
max_attempts: 3
window: 10s
## swarm visualizer
visualizer:
image: dockersamples/visualizer
volumes:
- type: bind
source: //var/run/docker.sock
target: /var/run/docker.sock
ports:
- 8080:8080
networks:
- swarm
deploy:
mode: global
placement:
constraints:
- node.role == manager
restart_policy:
condition: any
delay: 10s
max_attempts: 3
window: 10s
#volumes:
# mydata:
# driver_opts:
# type: "nfs"
# o: "addr=10.40.0.199,nolock,soft,rw"
## device: ":/docker/example"
networks:
swarm:
driver: overlay
secrets:
mysql_database:
file: ./_secret/mysql_database.txt
mysql_user_password:
file: ./_secret/mysql_user_password.txt
mysql_user:
file: ./_secret/mysql_user.txt
mysql_root_password:
file: ./_secret/mysql_root_password.txt
server_store_password:
file: ./_secret/_mc_ooparts_best-server_password.txt
## ★.. 쿠버네티스로 갈아타기.. 테스트가 좀; 힘듬.. 환경변수.. in docker-compose.yml environments only receive String, number, or null. not boolean, list
# Please, implement this. Tuning networks list via orchestration of compose/swarm configs is really terrible.