Browse Source

comit services healthcheck

placidenduwayo 1 year ago
parent
commit
05a49578eb
1 changed files with 34 additions and 27 deletions
  1. 34
    27
      docker-compose.yml

+ 34
- 27
docker-compose.yml View File

7
     container_name: microservices-db
7
     container_name: microservices-db
8
     restart: always
8
     restart: always
9
     ports:
9
     ports:
10
-      - "3306:3306"
10
+      - 3306:3306
11
     networks:
11
     networks:
12
       - microservices-network
12
       - microservices-network
13
     environment:
13
     environment:
14
       MYSQL_ROOT_PASSWORD: pwd
14
       MYSQL_ROOT_PASSWORD: pwd
15
     volumes:
15
     volumes:
16
       - services-db:/var/lib/mysql
16
       - services-db:/var/lib/mysql
17
+    healthcheck:
18
+      test: ["CMD", "mysqladmin" ,"ping", "-h", "localhost", "-uroot", "-ppwd"]
19
+      interval: 5s
20
+      timeout: 5s
21
+      retries: 20
17
     
22
     
18
   microservices-config-service:
23
   microservices-config-service:
19
     image: microservices-config-service:latest
24
     image: microservices-config-service:latest
20
     container_name: microservices-config-service
25
     container_name: microservices-config-service
21
     ports:
26
     ports:
22
-      - "8280:8280"
27
+      - 8280:8280
23
     networks:
28
     networks:
24
       - microservices-network
29
       - microservices-network
25
     build: 
30
     build: 
26
       context: ../backend-frontend-app/spring-project-back/microservices-config-service
31
       context: ../backend-frontend-app/spring-project-back/microservices-config-service
27
       dockerfile: Dockerfile
32
       dockerfile: Dockerfile
33
+    healthcheck:
34
+      test: ["CMD", "curl", "-I", "http://microservices-config-service:8280"]
35
+      interval: 15s
36
+      timeout: 10s
37
+      retries: 3
38
+      start_period: 40s
28
   
39
   
29
   microservices-registration-service:
40
   microservices-registration-service:
30
     image: microservices-registration-service:latest
41
     image: microservices-registration-service:latest
33
       context: ../backend-frontend-app/spring-project-back/microservices-registration-service
44
       context: ../backend-frontend-app/spring-project-back/microservices-registration-service
34
       dockerfile: Dockerfile
45
       dockerfile: Dockerfile
35
     ports:
46
     ports:
36
-      - "8761:8761"
47
+      - 8761:8761
37
     networks:
48
     networks:
38
       - microservices-network
49
       - microservices-network
39
     depends_on:
50
     depends_on:
40
       microservices-config-service:
51
       microservices-config-service:
41
-       condition: service_completed_successfully
52
+        condition: service_healthy
53
+    healthcheck:
54
+      test: ["CMD", "curl", "-I", "http://microservices-registration-service:8761"]
55
+      interval: 30s
56
+      timeout: 30s
57
+      retries: 3
58
+      start_period: 40s
42
 
59
 
43
   backend-frontend-gateway-service:
60
   backend-frontend-gateway-service:
44
     image: backend-frontend-gateway-service:latest
61
     image: backend-frontend-gateway-service:latest
49
       context: ../backend-frontend-app/spring-project-back/backend-frontend-gateway-service
66
       context: ../backend-frontend-app/spring-project-back/backend-frontend-gateway-service
50
       dockerfile: Dockerfile
67
       dockerfile: Dockerfile
51
     depends_on:
68
     depends_on:
52
-      microservices-config-service:
53
-        condition: service_completed_successfully
54
       microservices-registration-service:
69
       microservices-registration-service:
55
-        condition: service_completed_successfully
70
+        condition: service_healthy
56
     networks:
71
     networks:
57
       - microservices-network
72
       - microservices-network
58
 
73
 
63
       context: ..//backend-frontend-app/spring-project-back/clean-archi-business-service-address
78
       context: ..//backend-frontend-app/spring-project-back/clean-archi-business-service-address
64
       dockerfile: Dockerfile
79
       dockerfile: Dockerfile
65
     ports:
80
     ports:
66
-      - "8282:8282"
81
+      - 8282:8282
67
     depends_on:
82
     depends_on:
68
       microservices-db:
83
       microservices-db:
69
-        condition: service_completed_successfully
70
-      microservices-config-service:
71
-        condition: service_completed_successfully
84
+        condition: service_healthy
72
       microservices-registration-service:
85
       microservices-registration-service:
73
-        condition: service_completed_successfully
86
+        condition: service_healthy
74
     networks:
87
     networks:
75
       - microservices-network
88
       - microservices-network
76
     
89
     
81
       context: ../backend-frontend-app/spring-project-back/clean-archi-business-service-company
94
       context: ../backend-frontend-app/spring-project-back/clean-archi-business-service-company
82
       dockerfile: Dockerfile
95
       dockerfile: Dockerfile
83
     ports:
96
     ports:
84
-      - "8284:8284"
97
+      - 8284:8284
85
     depends_on:
98
     depends_on:
86
       microservices-db:
99
       microservices-db:
87
-        condition: service_completed_successfully
88
-      microservices-config-service:
89
-        condition: service_completed_successfully
100
+        condition: service_healthy
90
       microservices-registration-service:
101
       microservices-registration-service:
91
-        condition: service_completed_successfully
102
+        condition: service_healthy
92
     networks:
103
     networks:
93
       - microservices-network
104
       - microservices-network
94
   
105
   
99
       context: ../backend-frontend-app/spring-project-back/clean-archi-business-service-employee
110
       context: ../backend-frontend-app/spring-project-back/clean-archi-business-service-employee
100
       dockerfile: Dockerfile
111
       dockerfile: Dockerfile
101
     ports:
112
     ports:
102
-      - "8283:8283"
113
+      - 8283:8283
103
     depends_on:
114
     depends_on:
104
       microservices-db:
115
       microservices-db:
105
-        condition: service_completed_successfully
106
-      microservices-config-service:
107
-        condition: service_completed_successfully
116
+        condition: service_healthy
108
       microservices-registration-service:
117
       microservices-registration-service:
109
-        condition: service_completed_successfully
118
+        condition: service_healthy
110
     networks:
119
     networks:
111
       - microservices-network
120
       - microservices-network
112
   
121
   
117
       context: ../backend-frontend-app/spring-project-back/clean-archi-business-service-project
126
       context: ../backend-frontend-app/spring-project-back/clean-archi-business-service-project
118
       dockerfile: Dockerfile
127
       dockerfile: Dockerfile
119
     ports:
128
     ports:
120
-      - "8285:8285"
129
+      - 8285:8285
121
     depends_on:
130
     depends_on:
122
       microservices-db:
131
       microservices-db:
123
-        condition: service_completed_successfully
124
-      microservices-config-service:
125
-        condition: service_completed_successfully
132
+        condition: service_healthy
126
       microservices-registration-service:
133
       microservices-registration-service:
127
-        condition: service_completed_successfully
134
+        condition: service_healthy
128
     networks:
135
     networks:
129
       - microservices-network
136
       - microservices-network
130
 
137
 

Powered by TurnKey Linux.