You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@servicecomb.apache.org by ni...@apache.org on 2019/07/03 11:31:16 UTC

[servicecomb-pack] 02/03: Add sh-compatible wait-for to support startup order

This is an automated email from the ASF dual-hosted git repository.

ningjiang pushed a commit to branch master
in repository https://gitbox.apache.org/repos/asf/servicecomb-pack.git

commit 519bce56a48efb1dcc743483d24ad568d89ec81c
Author: Daniel Qian <ch...@gmail.com>
AuthorDate: Mon Jul 1 20:19:16 2019 +0800

    Add sh-compatible wait-for to support startup order
---
 demo/saga-dubbo-demo/docker-compose-alpha.yaml     | 11 +----------
 demo/saga-dubbo-demo/docker-compose.mysql.yaml     | 20 +++++++++----------
 demo/saga-dubbo-demo/docker-compose.yaml           | 20 +++++++++----------
 demo/saga-servicecomb-demo/docker-compose.yaml     | 22 ++++++++++-----------
 .../docker-compose-alpha-perf.yaml                 | 17 ++--------------
 demo/saga-spring-demo/docker-compose-alpha.yaml    | 11 +----------
 demo/saga-spring-demo/docker-compose.mysql.yaml    |  8 +++-----
 demo/saga-spring-demo/docker-compose.yaml          | 18 ++++++++---------
 demo/tcc-spring-demo/docker-compose-alpha.yaml     | 11 +----------
 demo/tcc-spring-demo/docker-compose-demo.yaml      |  2 ++
 demo/tcc-spring-demo/docker-compose.mysql.yaml     |  8 +++-----
 demo/tcc-spring-demo/docker-compose.yaml           | 16 ++++++---------
 docker-build-config/assembly/assembly.xml          |  8 ++++++++
 docker-build-config/docker-entrypoint.sh           | 23 ++++++++++++++++++++++
 docker-build-config/pom.xml                        |  6 +++++-
 15 files changed, 94 insertions(+), 107 deletions(-)

diff --git a/demo/saga-dubbo-demo/docker-compose-alpha.yaml b/demo/saga-dubbo-demo/docker-compose-alpha.yaml
index 6041c38..de4b5cd 100644
--- a/demo/saga-dubbo-demo/docker-compose-alpha.yaml
+++ b/demo/saga-dubbo-demo/docker-compose-alpha.yaml
@@ -25,11 +25,6 @@ services:
       - POSTGRES_DB=saga
       - POSTGRES_USER=saga
       - POSTGRES_PASSWORD=password
-    healthcheck:
-        test: ["CMD-SHELL", "nc -z localhost 5432 &> /dev/null; echo $$?"]
-        interval: 30s
-        timeout: 10s
-        retries: 5
 
   alpha:
     image: "alpha-server:${TAG}"
@@ -38,10 +33,6 @@ services:
       - "database:postgresql.servicecomb.io"
     environment:
       - JAVA_OPTS=-Dspring.profiles.active=prd
-    healthcheck:
-        test: ["CMD-SHELL", "nc -z localhost 8080 &> /dev/null; echo $$?"]
-        interval: 30s
-        timeout: 10s
-        retries: 5
+      - WAIT_FOR_SERVICES=postgresql.servicecomb.io:5432:150
     depends_on:
       - database
diff --git a/demo/saga-dubbo-demo/docker-compose.mysql.yaml b/demo/saga-dubbo-demo/docker-compose.mysql.yaml
index e4d515e..92620e8 100644
--- a/demo/saga-dubbo-demo/docker-compose.mysql.yaml
+++ b/demo/saga-dubbo-demo/docker-compose.mysql.yaml
@@ -34,11 +34,6 @@ services:
         - MYSQL_DATABASE=saga
         - MYSQL_USER=saga
         - MYSQL_PASSWORD=password
-      healthcheck:
-          test: ["CMD-SHELL", "nc -z localhost 3306 &> /dev/null; echo $$?"]
-          interval: 30s
-          timeout: 10s
-          retries: 5
 
   alpha:
     image: "alpha-server:${TAG}"
@@ -50,11 +45,7 @@ services:
       - "database:mysql.servicecomb.io"
     environment:
       - JAVA_OPTS=-Dspring.profiles.active=mysql
-    healthcheck:
-        test: ["CMD-SHELL", "nc -z localhost 8080 &> /dev/null; echo $$?"]
-        interval: 30s
-        timeout: 10s
-        retries: 5
+      - WAIT_FOR_SERVICES=mysql.servicecomb.io:3306:150
     depends_on:
       - database
 
@@ -74,9 +65,12 @@ services:
                                 -Dserver.port=8071
                                 -Dalpha.cluster.address=alpha-server.servicecomb.io:8080
                                 -Dspring.datasource.initialization-mode=always
+      - WAIT_FOR_SERVICES=mysql.servicecomb.io:3306:150,zookeeper.servicecomb.io:2181:150,alpha-server.servicecomb.io:8080:150
     ports:
       - "8071:8071"
     depends_on:
+      - database
+      - zookeeper
       - alpha
 
   serviceb:
@@ -95,9 +89,12 @@ services:
                                 -Dserver.port=8072
                                 -Dalpha.cluster.address=alpha-server.servicecomb.io:8080
                                 -Dspring.datasource.initialization-mode=always
+      - WAIT_FOR_SERVICES=mysql.servicecomb.io:3306:150,zookeeper.servicecomb.io:2181:150,alpha-server.servicecomb.io:8080:150
     ports:
       - "8072:8072"
     depends_on:
+      - database
+      - zookeeper
       - alpha
 
   servicec:
@@ -116,8 +113,11 @@ services:
                                 -Dserver.port=8073
                                 -Dalpha.cluster.address=alpha-server.servicecomb.io:8080
                                 -Dspring.datasource.initialization-mode=always
+      - WAIT_FOR_SERVICES=mysql.servicecomb.io:3306:150,zookeeper.servicecomb.io:2181:150,alpha-server.servicecomb.io:8080:150
     ports:
       - "8073:8073"
     depends_on:
+      - database
+      - zookeeper
       - alpha
 
diff --git a/demo/saga-dubbo-demo/docker-compose.yaml b/demo/saga-dubbo-demo/docker-compose.yaml
index 2529776..5da5997 100644
--- a/demo/saga-dubbo-demo/docker-compose.yaml
+++ b/demo/saga-dubbo-demo/docker-compose.yaml
@@ -34,11 +34,6 @@ services:
       - POSTGRES_PASSWORD=password
     ports:
       - "5432:5432"
-    healthcheck:
-        test: ["CMD-SHELL", "nc -z localhost 5432 &> /dev/null; echo $$?"]
-        interval: 30s
-        timeout: 10s
-        retries: 5
 
   alpha:
     image: "alpha-server:${TAG}"
@@ -50,11 +45,7 @@ services:
       - "database:postgresql.servicecomb.io"
     environment:
       - JAVA_OPTS=-Dspring.profiles.active=prd
-    healthcheck:
-        test: ["CMD-SHELL", "nc -z localhost 8080 &> /dev/null; echo $$?"]
-        interval: 30s
-        timeout: 10s
-        retries: 5
+      - WAIT_FOR_SERVICES=postgresql.servicecomb.io:5432:150
     depends_on:
       - database
 
@@ -74,9 +65,12 @@ services:
                                 -Dserver.port=8071
                                 -Dalpha.cluster.address=alpha-server.servicecomb.io:8080
                                 -Dspring.datasource.initialization-mode=always
+      - WAIT_FOR_SERVICES=postgresql.servicecomb.io:5432:150,zookeeper.servicecomb.io:2181:150,alpha-server.servicecomb.io:8080:150
     ports:
       - "8071:8071"
     depends_on:
+      - database
+      - zookeeper
       - alpha
 
   serviceb:
@@ -95,9 +89,12 @@ services:
                                 -Dserver.port=8072
                                 -Dalpha.cluster.address=alpha-server.servicecomb.io:8080
                                 -Dspring.datasource.initialization-mode=always
+      - WAIT_FOR_SERVICES=postgresql.servicecomb.io:5432:150,zookeeper.servicecomb.io:2181:150,alpha-server.servicecomb.io:8080:150
     ports:
       - "8072:8072"
     depends_on:
+      - database
+      - zookeeper
       - alpha
 
   servicec:
@@ -116,7 +113,10 @@ services:
                                 -Dserver.port=8073
                                 -Dalpha.cluster.address=alpha-server.servicecomb.io:8080
                                 -Dspring.datasource.initialization-mode=always
+      - WAIT_FOR_SERVICES=postgresql.servicecomb.io:5432:150,zookeeper.servicecomb.io:2181:150,alpha-server.servicecomb.io:8080:150
     ports:
       - "8073:8073"
     depends_on:
+      - database
+      - zookeeper
       - alpha
diff --git a/demo/saga-servicecomb-demo/docker-compose.yaml b/demo/saga-servicecomb-demo/docker-compose.yaml
index 7450473..a6ef104 100644
--- a/demo/saga-servicecomb-demo/docker-compose.yaml
+++ b/demo/saga-servicecomb-demo/docker-compose.yaml
@@ -25,11 +25,6 @@ services:
       - POSTGRES_DB=saga
       - POSTGRES_USER=saga
       - POSTGRES_PASSWORD=password
-    healthcheck:
-        test: ["CMD-SHELL", "nc -z localhost 5432 &> /dev/null; echo $$?"]
-        interval: 30s
-        timeout: 10s
-        retries: 5
 
   alpha:
     image: "alpha-server:${TAG}"
@@ -40,11 +35,7 @@ services:
       - "8090:8090"
     environment:
       - JAVA_OPTS=-Dspring.profiles.active=prd
-    healthcheck:
-        test: ["CMD-SHELL", "nc -z localhost 8080 &> /dev/null; echo $$?"]
-        interval: 30s
-        timeout: 10s
-        retries: 5
+      - WAIT_FOR_SERVICES=postgresql.servicecomb.io:5432:150
     depends_on:
       - database
 
@@ -60,10 +51,13 @@ services:
     links:
       - "alpha:alpha-server.servicecomb.io"
       - "servicecenter:service-center.servicecomb.io"
+    environment:
+      - WAIT_FOR_SERVICES=alpha-server.servicecomb.io:8080:150,service-center.servicecomb.io:30100:150
     ports:
       - "8081:8081"
     depends_on:
       - alpha
+      - servicecenter
 
   car:
     image: "scb-car:${TAG}"
@@ -71,10 +65,13 @@ services:
     links:
       - "alpha:alpha-server.servicecomb.io"
       - "servicecenter:service-center.servicecomb.io"
+    environment:
+      - WAIT_FOR_SERVICES=alpha-server.servicecomb.io:8080:150,service-center.servicecomb.io:30100:150
     ports:
       - "8082:8082"
     depends_on:
       - alpha
+      - servicecenter
 
   booking:
     image: "scb-booking:${TAG}"
@@ -84,9 +81,12 @@ services:
       - "hotel:hotel.servicecomb.io"
       - "car:car.servicecomb.io"
       - "servicecenter:service-center.servicecomb.io"
+    environment:
+      - WAIT_FOR_SERVICES=alpha-server.servicecomb.io:8080:150,service-center.servicecomb.io:30100:150,hotel.servicecomb.io:8081:150,car.servicecomb.io:8082:150
     ports:
       - "8083:8083"
     depends_on:
+      - alpha
+      - servicecenter
       - hotel
       - car
-      - servicecenter
diff --git a/demo/saga-spring-demo/docker-compose-alpha-perf.yaml b/demo/saga-spring-demo/docker-compose-alpha-perf.yaml
index 7a1ae2b..8160609 100644
--- a/demo/saga-spring-demo/docker-compose-alpha-perf.yaml
+++ b/demo/saga-spring-demo/docker-compose-alpha-perf.yaml
@@ -25,11 +25,6 @@ services:
       - POSTGRES_DB=saga
       - POSTGRES_USER=saga
       - POSTGRES_PASSWORD=password
-    healthcheck:
-        test: ["CMD-SHELL", "nc -z localhost 5432 &> /dev/null; echo $$?"]
-        interval: 30s
-        timeout: 10s
-        retries: 5
 
   alpha:
     image: "alpha-server:${TAG}"
@@ -39,21 +34,13 @@ services:
       - "grafana:grafana.servicecomb.io"
     environment:
       - JAVA_OPTS=-javaagent:/maven/saga/aspectjweaver.jar -Dspring.profiles.active=prd -Dkamon.statsd.hostname=grafana.servicecomb.io -Dkamon.statsd.port=8125 -Dkamon.modules.kamon-annotation.auto-start=yes  -Dkamon.modules.kamon-log-reporter.auto-start=yes -Dkamon.modules.kamon-statsd.auto-start=yes
-    healthcheck:
-        test: ["CMD-SHELL", "nc -z localhost 8080 &> /dev/null; echo $$?"]
-        interval: 30s
-        timeout: 10s
-        retries: 5
+      - WAIT_FOR_SERVICES=postgresql.servicecomb.io:5432:150,grafana.servicecomb.io:80:150
     depends_on:
       - database
+      - grafana
 
   grafana:
     image: "kamon/grafana_graphite"
     hostname: grafana
     ports:
       - "9081:80"
-    healthcheck:
-        test: ["CMD-SHELL", "nc -z localhost 80 &> /dev/null; echo $$?"]
-        interval: 30s
-        timeout: 10s
-        retries: 5
diff --git a/demo/saga-spring-demo/docker-compose-alpha.yaml b/demo/saga-spring-demo/docker-compose-alpha.yaml
index 6041c38..de4b5cd 100644
--- a/demo/saga-spring-demo/docker-compose-alpha.yaml
+++ b/demo/saga-spring-demo/docker-compose-alpha.yaml
@@ -25,11 +25,6 @@ services:
       - POSTGRES_DB=saga
       - POSTGRES_USER=saga
       - POSTGRES_PASSWORD=password
-    healthcheck:
-        test: ["CMD-SHELL", "nc -z localhost 5432 &> /dev/null; echo $$?"]
-        interval: 30s
-        timeout: 10s
-        retries: 5
 
   alpha:
     image: "alpha-server:${TAG}"
@@ -38,10 +33,6 @@ services:
       - "database:postgresql.servicecomb.io"
     environment:
       - JAVA_OPTS=-Dspring.profiles.active=prd
-    healthcheck:
-        test: ["CMD-SHELL", "nc -z localhost 8080 &> /dev/null; echo $$?"]
-        interval: 30s
-        timeout: 10s
-        retries: 5
+      - WAIT_FOR_SERVICES=postgresql.servicecomb.io:5432:150
     depends_on:
       - database
diff --git a/demo/saga-spring-demo/docker-compose.mysql.yaml b/demo/saga-spring-demo/docker-compose.mysql.yaml
index 3cc3154..5f631b8 100644
--- a/demo/saga-spring-demo/docker-compose.mysql.yaml
+++ b/demo/saga-spring-demo/docker-compose.mysql.yaml
@@ -26,14 +26,12 @@ services:
       - MYSQL_DATABASE=saga
       - MYSQL_USER=saga
       - MYSQL_PASSWORD=password
-    healthcheck:
-        test: ["CMD-SHELL", "nc -z localhost 3306 &> /dev/null; echo $$?"]
-        interval: 30s
-        timeout: 10s
-        retries: 5
 
   alpha:
     links:
       - "database:mysql.servicecomb.io"
     environment:
       - JAVA_OPTS=-Dspring.profiles.active=mysql
+      - WAIT_FOR_SERVICES=mysql.servicecomb.io:3306:150
+    depends_on:
+      - database
diff --git a/demo/saga-spring-demo/docker-compose.yaml b/demo/saga-spring-demo/docker-compose.yaml
index ac70522..bb85390 100644
--- a/demo/saga-spring-demo/docker-compose.yaml
+++ b/demo/saga-spring-demo/docker-compose.yaml
@@ -25,11 +25,6 @@ services:
       - POSTGRES_DB=saga
       - POSTGRES_USER=saga
       - POSTGRES_PASSWORD=password
-    healthcheck:
-        test: ["CMD-SHELL", "nc -z localhost 5432 &> /dev/null; echo $$?"]
-        interval: 30s
-        timeout: 10s
-        retries: 5
 
   alpha:
     image: "alpha-server:${TAG}"
@@ -38,11 +33,7 @@ services:
       - "database:postgresql.servicecomb.io"
     environment:
       - JAVA_OPTS=-Dspring.profiles.active=prd
-    healthcheck:
-        test: ["CMD-SHELL", "nc -z localhost 8080 &> /dev/null; echo $$?"]
-        interval: 30s
-        timeout: 10s
-        retries: 5
+      - WAIT_FOR_SERVICES=postgresql.servicecomb.io:5432:150
     depends_on:
       - database
 
@@ -51,6 +42,8 @@ services:
     hostname: hotel
     links:
       - "alpha:alpha-server.servicecomb.io"
+    environment:
+      - WAIT_FOR_SERVICES=alpha-server.servicecomb.io:8080:150
     ports:
       - "8081:8080"
     depends_on:
@@ -61,6 +54,8 @@ services:
     hostname: car
     links:
       - "alpha:alpha-server.servicecomb.io"
+    environment:
+      - WAIT_FOR_SERVICES=alpha-server.servicecomb.io:8080:150
     ports:
       - "8082:8080"
     depends_on:
@@ -73,8 +68,11 @@ services:
       - "alpha:alpha-server.servicecomb.io"
       - "hotel:hotel.servicecomb.io"
       - "car:car.servicecomb.io"
+    environment:
+      - WAIT_FOR_SERVICES=alpha-server.servicecomb.io:8080:150,hotel.servicecomb.io:8080:150,car.servicecomb.io:8080:150
     ports:
       - "8083:8080"
     depends_on:
+      - alpha
       - hotel
       - car
diff --git a/demo/tcc-spring-demo/docker-compose-alpha.yaml b/demo/tcc-spring-demo/docker-compose-alpha.yaml
index 6041c38..de4b5cd 100644
--- a/demo/tcc-spring-demo/docker-compose-alpha.yaml
+++ b/demo/tcc-spring-demo/docker-compose-alpha.yaml
@@ -25,11 +25,6 @@ services:
       - POSTGRES_DB=saga
       - POSTGRES_USER=saga
       - POSTGRES_PASSWORD=password
-    healthcheck:
-        test: ["CMD-SHELL", "nc -z localhost 5432 &> /dev/null; echo $$?"]
-        interval: 30s
-        timeout: 10s
-        retries: 5
 
   alpha:
     image: "alpha-server:${TAG}"
@@ -38,10 +33,6 @@ services:
       - "database:postgresql.servicecomb.io"
     environment:
       - JAVA_OPTS=-Dspring.profiles.active=prd
-    healthcheck:
-        test: ["CMD-SHELL", "nc -z localhost 8080 &> /dev/null; echo $$?"]
-        interval: 30s
-        timeout: 10s
-        retries: 5
+      - WAIT_FOR_SERVICES=postgresql.servicecomb.io:5432:150
     depends_on:
       - database
diff --git a/demo/tcc-spring-demo/docker-compose-demo.yaml b/demo/tcc-spring-demo/docker-compose-demo.yaml
index 2c7fe4a..55076b0 100644
--- a/demo/tcc-spring-demo/docker-compose-demo.yaml
+++ b/demo/tcc-spring-demo/docker-compose-demo.yaml
@@ -45,6 +45,8 @@ services:
       - "alpha:alpha-server.servicecomb.io"
       - "payment:payment.servicecomb.io"
       - "inventory:inventory.servicecomb.io"
+    environment:
+      - WAIT_FOR_SERVICES=payment.servicecomb.io:8080:150,inventory.servicecomb.io:8080:150
     ports:
       - "8083:8080"
     depends_on:
diff --git a/demo/tcc-spring-demo/docker-compose.mysql.yaml b/demo/tcc-spring-demo/docker-compose.mysql.yaml
index 3cc3154..5f631b8 100644
--- a/demo/tcc-spring-demo/docker-compose.mysql.yaml
+++ b/demo/tcc-spring-demo/docker-compose.mysql.yaml
@@ -26,14 +26,12 @@ services:
       - MYSQL_DATABASE=saga
       - MYSQL_USER=saga
       - MYSQL_PASSWORD=password
-    healthcheck:
-        test: ["CMD-SHELL", "nc -z localhost 3306 &> /dev/null; echo $$?"]
-        interval: 30s
-        timeout: 10s
-        retries: 5
 
   alpha:
     links:
       - "database:mysql.servicecomb.io"
     environment:
       - JAVA_OPTS=-Dspring.profiles.active=mysql
+      - WAIT_FOR_SERVICES=mysql.servicecomb.io:3306:150
+    depends_on:
+      - database
diff --git a/demo/tcc-spring-demo/docker-compose.yaml b/demo/tcc-spring-demo/docker-compose.yaml
index b33be54..21f204d 100644
--- a/demo/tcc-spring-demo/docker-compose.yaml
+++ b/demo/tcc-spring-demo/docker-compose.yaml
@@ -25,11 +25,6 @@ services:
       - POSTGRES_DB=saga
       - POSTGRES_USER=saga
       - POSTGRES_PASSWORD=password
-    healthcheck:
-        test: ["CMD-SHELL", "nc -z localhost 5432 &> /dev/null; echo $$?"]
-        interval: 30s
-        timeout: 10s
-        retries: 5
 
   alpha:
     image: "alpha-server:${TAG}"
@@ -38,11 +33,7 @@ services:
       - "database:postgresql.servicecomb.io"
     environment:
       - JAVA_OPTS=-Dspring.profiles.active=prd
-    healthcheck:
-        test: ["CMD-SHELL", "nc -z localhost 8080 &> /dev/null; echo $$?"]
-        interval: 30s
-        timeout: 10s
-        retries: 5
+      - WAIT_FOR_SERVICES=postgresql.servicecomb.io:5432:150
     depends_on:
       - database
 
@@ -53,6 +44,7 @@ services:
       - "alpha:alpha-server.servicecomb.io"
     environment:
       - JAVA_OPTS=-Dspring.profiles.active=prd
+      - WAIT_FOR_SERVICES=alpha-server.servicecomb.io:8080:150
     ports:
       - "8081:8080"
     depends_on:
@@ -65,6 +57,7 @@ services:
       - "alpha:alpha-server.servicecomb.io"
     environment:
       - JAVA_OPTS=-Dspring.profiles.active=prd
+      - WAIT_FOR_SERVICES=alpha-server.servicecomb.io:8080:150
     ports:
       - "8082:8080"
     depends_on:
@@ -77,8 +70,11 @@ services:
       - "alpha:alpha-server.servicecomb.io"
       - "inventory:inventory.servicecomb.io"
       - "payment:payment.servicecomb.io"
+    environment:
+      - WAIT_FOR_SERVICES=alpha-server.servicecomb.io:8080:150,inventory.servicecomb.io:8080:150,payment.servicecomb.io:8080:150
     ports:
       - "8083:8080"
     depends_on:
+      - alpha
       - payment
       - inventory
diff --git a/docker-build-config/assembly/assembly.xml b/docker-build-config/assembly/assembly.xml
index 1929e0b..e8e6557 100644
--- a/docker-build-config/assembly/assembly.xml
+++ b/docker-build-config/assembly/assembly.xml
@@ -39,4 +39,12 @@
       </includes>
     </fileSet>
   </fileSets>
+  <files>
+    <file>
+      <source>${root.basedir}/docker-build-config/docker-entrypoint.sh</source>
+      <outputDirectory>saga</outputDirectory>
+      <fileMode>0755</fileMode>
+      <filtered>true</filtered>
+    </file>
+  </files>
 </assembly>
diff --git a/docker-build-config/docker-entrypoint.sh b/docker-build-config/docker-entrypoint.sh
new file mode 100644
index 0000000..8ccf3eb
--- /dev/null
+++ b/docker-build-config/docker-entrypoint.sh
@@ -0,0 +1,23 @@
+#!/bin/sh
+
+wait_for_services() {
+  for svc in ${WAIT_FOR_SERVICES//,/ }
+  do
+    host=$(printf "%s\n" "$svc"| cut -d : -f 1)
+    port=$(printf "%s\n" "$svc"| cut -d : -f 2)
+    timeout=$(printf "%s\n" "$svc"| cut -d : -f 3)
+    echo "Waiting for service $host:$port(timeout: $timeout seconds) ready"
+    /wait-for $host:$port -t $timeout
+    result=$?
+    if [ $result -eq 0 ] ; then
+      echo "Service $host:$port is ready"
+    else
+      echo "Service $host:$port is not ready"
+      exit 1
+    fi
+  done
+}
+
+wait_for_services
+
+exec java $JAVA_OPTS -jar /maven/saga/${project.artifactId}-${project.version}-exec.jar
diff --git a/docker-build-config/pom.xml b/docker-build-config/pom.xml
index da04fc1..4ef4a11 100644
--- a/docker-build-config/pom.xml
+++ b/docker-build-config/pom.xml
@@ -50,8 +50,12 @@
                     <descriptor>${root.basedir}/docker-build-config/assembly/assembly.xml
                     </descriptor>
                   </assembly>
+                  <runCmds>
+                    <run>wget -O /wait-for https://raw.githubusercontent.com/eficode/wait-for/master/wait-for</run>
+                    <run>chmod +x /wait-for</run>
+                  </runCmds>
                   <entryPoint>
-                    <shell>java $JAVA_OPTS -jar /maven/saga/${project.artifactId}-${project.version}-exec.jar</shell>
+                    <shell>/maven/saga/docker-entrypoint.sh</shell>
                   </entryPoint>
                 </build>
               </image>