Vadim Surkov 6 rokov pred
rodič
commit
e514e988d3
3 zmenil súbory, kde vykonal 27 pridanie a 3 odobranie
  1. 5 2
      Dockerfile
  2. 12 1
      docker-entrypoint.sh
  3. 10 0
      healthcheck.sh

+ 5 - 2
Dockerfile

@@ -2,6 +2,7 @@ FROM registry.sdsys.ru/iru/iru-base:0.1
 ENTRYPOINT ["/opt/docker-entrypoint.sh"]
 COPY docker-entrypoint.sh \
      updatedb.sh \
+     healthcheck.sh \
      /opt/
 COPY mongodb-org-3.6.repo /etc/yum.repos.d/
 ENV CATALINA_HOME="/opt/tomcat" 
@@ -16,9 +17,10 @@ ENV PATH=$CATALINA_HOME/bin:$PATH \
     HOST=fb3_demo \
     PORT=3050 \
     ALIAS=dev_iru_swarm_lab_99001 \
-    REPORT_SERVER_URL=http://reportproxy4.infoclinica.lan
+    REPORT_SERVER_URL=http://reportproxy4.infoclinica.lan \
+    APPNET=labnetwork
 EXPOSE 8091 8080 8009 2551
-HEALTHCHECK --start-period=300s --interval=15s --timeout=5s --retries=2 CMD curl -f 127.0.0.1:8091/login || exit 1
+HEALTHCHECK --start-period=300s --interval=15s --timeout=5s --retries=2 CMD /opt/healthcheck.sh
 ARG repo=prod
 
 RUN set -x \
@@ -31,6 +33,7 @@ RUN set -x \
            && yum install nc -y \
            && yum clean all \
            && chmod +x /opt/docker-entrypoint.sh \
+           && chmod +x /opt/healthcheck.sh \
            && chown -R tomcat:tomcat /etc/web-laboratory-admin \
            && cd /opt/tomcat/conf/web-laboratory-admin/localhost \
            && ln -s /etc/web-laboratory-admin/ROOT.xml ROOT.xml

+ 12 - 1
docker-entrypoint.sh

@@ -1,10 +1,21 @@
 #!/usr/bin/env bash
 
+if [ ! -z "${APPNET}" ]; then
+   echo "Initial nslookup ${HOSTNAME}.${APPNET}"
+   nslookup ${HOSTNAME}.${APPNET}
+   while [ $? -ne 0 ]; do
+     echo "Waiting for ${HOSTNAME}.${APPNET} to become available"
+     sleep 1
+     nslookup ${HOSTNAME}.${APPNET}
+   done
+fi
+
+
 if [ "$DB_CLUSTER" ]; then
    sed -i "s/192.168.201.12:27017/${DB_CLUSTER}/" /etc/web-laboratory-admin/application.conf
 fi
 
-sed -i "s/192\.168\.201\.13/0\.0\.0\.0/" /etc/web-laboratory-admin/application.conf
+sed -i "s/192\.168\.201\.13/${HOSTNAME}.${APPNET}/" /etc/web-laboratory-admin/application.conf
 
 if [ -n  ${CREATE_DATASOURCE} ] && [ ${CREATE_DATASOURCE} == "yes" ]
 then

+ 10 - 0
healthcheck.sh

@@ -0,0 +1,10 @@
+#!/bin/bash
+
+containerstart=`stat -c %Z /proc/1`
+curtime=`date +%s`
+if [[ $(($containerstart-$curtime)) -le "180" ]]; then
+    echo "0"
+    exit 0
+fi
+
+curl -f 127.0.0.1:8091/login || exit 1