From 1ba6e798c097a735ffe0599384caccaa8cd8d24b Mon Sep 17 00:00:00 2001 From: TimAle Date: Mon, 26 Feb 2018 15:07:34 +0300 Subject: [PATCH] HOMS-164 Add postgresql-client for check DB availability --- Dockerfile | 7 ++++--- docker-compose.yml | 2 ++ wait_for_postgres.sh | 13 +++++++++++++ 3 files changed, 19 insertions(+), 3 deletions(-) create mode 100644 wait_for_postgres.sh diff --git a/Dockerfile b/Dockerfile index 77e06fd1..6f093e40 100644 --- a/Dockerfile +++ b/Dockerfile @@ -1,7 +1,7 @@ FROM ruby:2.2.4 -COPY ./entrypoint.sh / -RUN chmod +x /entrypoint.sh +COPY ./entrypoint.sh ./wait_for_postgres.sh / +RUN chmod +x /entrypoint.sh /wait_for_postgres.sh # below come instructions for Hydra OMS deployment WORKDIR /opt @@ -10,7 +10,8 @@ RUN apt-get update \ && apt-get install -y git \ libpq-dev \ nodejs \ - libqtwebkit-dev + libqtwebkit-dev \ + postgresql-client COPY Gemfile Gemfile.lock Rakefile config.ru /opt/homs/ diff --git a/docker-compose.yml b/docker-compose.yml index 8a2a0d67..a8915ec6 100644 --- a/docker-compose.yml +++ b/docker-compose.yml @@ -37,6 +37,7 @@ services: - 8080:8080 depends_on: - db_activiti + entrypoint: "bash -lc '/wait_for_postgres.sh db_activiti && /entrypoint_ah.sh'" networks: - custom_network homs: @@ -58,6 +59,7 @@ services: depends_on: - db_homs - activiti_homs + entrypoint: "bash -lc '/wait_for_postgres.sh db_homs && /entrypoint.sh'" ports: - 3000:3000 networks: diff --git a/wait_for_postgres.sh b/wait_for_postgres.sh new file mode 100644 index 00000000..9ab3c7e8 --- /dev/null +++ b/wait_for_postgres.sh @@ -0,0 +1,13 @@ +#!/bin/bash + +set -e + +host="$1" + +until psql -h "$host" -U "postgres" -c '\q'; do + >&2 echo "Postgres is unavailable - sleeping" + sleep 1 +done + +>&2 echo "Postgres is up" +exit 0