From 7436513ee11169d70d7355b7f376d03f22c2edcd Mon Sep 17 00:00:00 2001 From: Alexey Pustovalov Date: Tue, 14 Jul 2020 02:22:33 +0300 Subject: [PATCH 1/2] Fixed issue with GPG keys on CentOS and Ubuntu --- agent/centos/Dockerfile | 18 +++++++++++++----- agent/ubuntu/Dockerfile | 18 +++++++++++++----- proxy-mysql/centos/Dockerfile | 18 +++++++++++++----- proxy-mysql/ubuntu/Dockerfile | 18 +++++++++++++----- proxy-sqlite3/centos/Dockerfile | 18 +++++++++++++----- proxy-sqlite3/ubuntu/Dockerfile | 18 +++++++++++++----- server-mysql/centos/Dockerfile | 18 +++++++++++++----- server-mysql/ubuntu/Dockerfile | 18 +++++++++++++----- server-pgsql/centos/Dockerfile | 18 +++++++++++++----- server-pgsql/ubuntu/Dockerfile | 18 +++++++++++++----- 10 files changed, 130 insertions(+), 50 deletions(-) diff --git a/agent/centos/Dockerfile b/agent/centos/Dockerfile index 3aba83407..b42644bc7 100644 --- a/agent/centos/Dockerfile +++ b/agent/centos/Dockerfile @@ -27,11 +27,19 @@ RUN set -eux && \ libldap \ libcurl \ openssl-libs && \ - curl -L https://github.com/krallin/tini/releases/download/${TINI_VERSION}/tini -o /sbin/tini && \ - curl -L https://github.com/krallin/tini/releases/download/${TINI_VERSION}/tini.asc -o /tini.asc && \ - gpg --batch --keyserver hkp://p80.pool.sks-keyservers.net:80 --recv-keys 595E85A6B1B4779EA4DAAEC70B588DFF0527A9B7 && \ - gpg --batch --verify /tini.asc /sbin/tini && \ - rm -rf /root/.gnupg && \ + curl -L "https://github.com/krallin/tini/releases/download/${TINI_VERSION}/tini" -o /sbin/tini && \ + curl -L "https://github.com/krallin/tini/releases/download/${TINI_VERSION}/tini.asc" -o /tmp/tini.asc && \ + export GNUPGHOME="$(mktemp -d)" && \ + for server in $(shuf -e ha.pool.sks-keyservers.net \ + hkp://p80.pool.sks-keyservers.net:80 \ + ipv4.pool.sks-keyservers.net \ + keyserver.ubuntu.com \ + keyserver.pgp.com \ + pgp.mit.edu) ; do \ + gpg --keyserver "$server" --recv-keys 595E85A6B1B4779EA4DAAEC70B588DFF0527A9B7 && break || : ; \ + done && \ + gpg --batch --verify /tmp/tini.asc /sbin/tini && \ + rm -r "$GNUPGHOME" /tmp/tini.asc && \ chmod +x /sbin/tini && \ yum -y clean all && \ rm -rf /var/cache/yum /var/lib/yum/yumdb/* /usr/lib/udev/hwdb.d/* && \ diff --git a/agent/ubuntu/Dockerfile b/agent/ubuntu/Dockerfile index 25611d498..0a5c80e60 100644 --- a/agent/ubuntu/Dockerfile +++ b/agent/ubuntu/Dockerfile @@ -35,11 +35,19 @@ RUN set -eux && \ libssl1.1 \ libcurl4 \ libldap-2.4 && \ - curl -L https://github.com/krallin/tini/releases/download/${TINI_VERSION}/tini -o /sbin/tini && \ - curl -L https://github.com/krallin/tini/releases/download/${TINI_VERSION}/tini.asc -o /tini.asc && \ - gpg --batch --keyserver hkp://p80.pool.sks-keyservers.net:80 --recv-keys 595E85A6B1B4779EA4DAAEC70B588DFF0527A9B7 && \ - gpg --batch --verify /tini.asc /sbin/tini && \ - rm -rf /root/.gnupg && \ + curl -L "https://github.com/krallin/tini/releases/download/${TINI_VERSION}/tini" -o /sbin/tini && \ + curl -L "https://github.com/krallin/tini/releases/download/${TINI_VERSION}/tini.asc" -o /tmp/tini.asc && \ + export GNUPGHOME="$(mktemp -d)" && \ + for server in $(shuf -e ha.pool.sks-keyservers.net \ + hkp://p80.pool.sks-keyservers.net:80 \ + ipv4.pool.sks-keyservers.net \ + keyserver.ubuntu.com \ + keyserver.pgp.com \ + pgp.mit.edu) ; do \ + gpg --keyserver "$server" --recv-keys 595E85A6B1B4779EA4DAAEC70B588DFF0527A9B7 && break || : ; \ + done && \ + gpg --batch --verify /tmp/tini.asc /sbin/tini && \ + rm -r "$GNUPGHOME" /tmp/tini.asc && \ chmod +x /sbin/tini && \ apt-get -y purge curl gpg dirmngr gpg-agent && \ apt-get -y autoremove && \ diff --git a/proxy-mysql/centos/Dockerfile b/proxy-mysql/centos/Dockerfile index 0e2a561f5..164a23c98 100644 --- a/proxy-mysql/centos/Dockerfile +++ b/proxy-mysql/centos/Dockerfile @@ -42,11 +42,19 @@ RUN set -eux && \ openssl-libs \ pcre \ unixODBC && \ - curl -L https://github.com/krallin/tini/releases/download/${TINI_VERSION}/tini -o /sbin/tini && \ - curl -L https://github.com/krallin/tini/releases/download/${TINI_VERSION}/tini.asc -o /tini.asc && \ - gpg --batch --keyserver hkp://p80.pool.sks-keyservers.net:80 --recv-keys 595E85A6B1B4779EA4DAAEC70B588DFF0527A9B7 && \ - gpg --batch --verify /tini.asc /sbin/tini && \ - rm -rf /root/.gnupg && \ + curl -L "https://github.com/krallin/tini/releases/download/${TINI_VERSION}/tini" -o /sbin/tini && \ + curl -L "https://github.com/krallin/tini/releases/download/${TINI_VERSION}/tini.asc" -o /tmp/tini.asc && \ + export GNUPGHOME="$(mktemp -d)" && \ + for server in $(shuf -e ha.pool.sks-keyservers.net \ + hkp://p80.pool.sks-keyservers.net:80 \ + ipv4.pool.sks-keyservers.net \ + keyserver.ubuntu.com \ + keyserver.pgp.com \ + pgp.mit.edu) ; do \ + gpg --keyserver "$server" --recv-keys 595E85A6B1B4779EA4DAAEC70B588DFF0527A9B7 && break || : ; \ + done && \ + gpg --batch --verify /tmp/tini.asc /sbin/tini && \ + rm -r "$GNUPGHOME" /tmp/tini.asc && \ chmod +x /sbin/tini && \ yum -y clean all && \ rm -rf /var/cache/yum /var/lib/yum/yumdb/* /usr/lib/udev/hwdb.d/* && \ diff --git a/proxy-mysql/ubuntu/Dockerfile b/proxy-mysql/ubuntu/Dockerfile index c04c341c4..2b3faecd6 100644 --- a/proxy-mysql/ubuntu/Dockerfile +++ b/proxy-mysql/ubuntu/Dockerfile @@ -51,11 +51,19 @@ RUN set -eux && \ mysql-client \ snmp-mibs-downloader \ unixodbc && \ - curl -L https://github.com/krallin/tini/releases/download/${TINI_VERSION}/tini -o /sbin/tini && \ - curl -L https://github.com/krallin/tini/releases/download/${TINI_VERSION}/tini.asc -o /tini.asc && \ - gpg --batch --keyserver hkp://p80.pool.sks-keyservers.net:80 --recv-keys 595E85A6B1B4779EA4DAAEC70B588DFF0527A9B7 && \ - gpg --batch --verify /tini.asc /sbin/tini && \ - rm -rf /root/.gnupg && \ + curl -L "https://github.com/krallin/tini/releases/download/${TINI_VERSION}/tini" -o /sbin/tini && \ + curl -L "https://github.com/krallin/tini/releases/download/${TINI_VERSION}/tini.asc" -o /tmp/tini.asc && \ + export GNUPGHOME="$(mktemp -d)" && \ + for server in $(shuf -e ha.pool.sks-keyservers.net \ + hkp://p80.pool.sks-keyservers.net:80 \ + ipv4.pool.sks-keyservers.net \ + keyserver.ubuntu.com \ + keyserver.pgp.com \ + pgp.mit.edu) ; do \ + gpg --keyserver "$server" --recv-keys 595E85A6B1B4779EA4DAAEC70B588DFF0527A9B7 && break || : ; \ + done && \ + gpg --batch --verify /tmp/tini.asc /sbin/tini && \ + rm -r "$GNUPGHOME" /tmp/tini.asc && \ chmod +x /sbin/tini && \ apt-get -y purge curl gpg dirmngr gpg-agent && \ apt-get -y autoremove && \ diff --git a/proxy-sqlite3/centos/Dockerfile b/proxy-sqlite3/centos/Dockerfile index e06b786ad..997c2f68c 100644 --- a/proxy-sqlite3/centos/Dockerfile +++ b/proxy-sqlite3/centos/Dockerfile @@ -41,11 +41,19 @@ RUN set -eux && \ openssl-libs \ pcre \ unixODBC && \ - curl -L https://github.com/krallin/tini/releases/download/${TINI_VERSION}/tini -o /sbin/tini && \ - curl -L https://github.com/krallin/tini/releases/download/${TINI_VERSION}/tini.asc -o /tini.asc && \ - gpg --batch --keyserver hkp://p80.pool.sks-keyservers.net:80 --recv-keys 595E85A6B1B4779EA4DAAEC70B588DFF0527A9B7 && \ - gpg --batch --verify /tini.asc /sbin/tini && \ - rm -rf /root/.gnupg && \ + curl -L "https://github.com/krallin/tini/releases/download/${TINI_VERSION}/tini" -o /sbin/tini && \ + curl -L "https://github.com/krallin/tini/releases/download/${TINI_VERSION}/tini.asc" -o /tmp/tini.asc && \ + export GNUPGHOME="$(mktemp -d)" && \ + for server in $(shuf -e ha.pool.sks-keyservers.net \ + hkp://p80.pool.sks-keyservers.net:80 \ + ipv4.pool.sks-keyservers.net \ + keyserver.ubuntu.com \ + keyserver.pgp.com \ + pgp.mit.edu) ; do \ + gpg --keyserver "$server" --recv-keys 595E85A6B1B4779EA4DAAEC70B588DFF0527A9B7 && break || : ; \ + done && \ + gpg --batch --verify /tmp/tini.asc /sbin/tini && \ + rm -r "$GNUPGHOME" /tmp/tini.asc && \ chmod +x /sbin/tini && \ yum -y clean all && \ rm -rf /var/cache/yum /var/lib/yum/yumdb/* /usr/lib/udev/hwdb.d/* && \ diff --git a/proxy-sqlite3/ubuntu/Dockerfile b/proxy-sqlite3/ubuntu/Dockerfile index 78bcaf978..bccf9ff3d 100644 --- a/proxy-sqlite3/ubuntu/Dockerfile +++ b/proxy-sqlite3/ubuntu/Dockerfile @@ -49,11 +49,19 @@ RUN set -eux && \ libxml2 \ snmp-mibs-downloader \ unixodbc && \ - curl -L https://github.com/krallin/tini/releases/download/${TINI_VERSION}/tini -o /sbin/tini && \ - curl -L https://github.com/krallin/tini/releases/download/${TINI_VERSION}/tini.asc -o /tini.asc && \ - gpg --batch --keyserver hkp://p80.pool.sks-keyservers.net:80 --recv-keys 595E85A6B1B4779EA4DAAEC70B588DFF0527A9B7 && \ - gpg --batch --verify /tini.asc /sbin/tini && \ - rm -rf /root/.gnupg && \ + curl -L "https://github.com/krallin/tini/releases/download/${TINI_VERSION}/tini" -o /sbin/tini && \ + curl -L "https://github.com/krallin/tini/releases/download/${TINI_VERSION}/tini.asc" -o /tmp/tini.asc && \ + export GNUPGHOME="$(mktemp -d)" && \ + for server in $(shuf -e ha.pool.sks-keyservers.net \ + hkp://p80.pool.sks-keyservers.net:80 \ + ipv4.pool.sks-keyservers.net \ + keyserver.ubuntu.com \ + keyserver.pgp.com \ + pgp.mit.edu) ; do \ + gpg --keyserver "$server" --recv-keys 595E85A6B1B4779EA4DAAEC70B588DFF0527A9B7 && break || : ; \ + done && \ + gpg --batch --verify /tmp/tini.asc /sbin/tini && \ + rm -r "$GNUPGHOME" /tmp/tini.asc && \ chmod +x /sbin/tini && \ apt-get -y purge curl gpg dirmngr gpg-agent && \ apt-get -y autoremove && \ diff --git a/server-mysql/centos/Dockerfile b/server-mysql/centos/Dockerfile index 495fef4e0..60776e98d 100644 --- a/server-mysql/centos/Dockerfile +++ b/server-mysql/centos/Dockerfile @@ -47,11 +47,19 @@ RUN set -eux && \ openssl-libs \ pcre \ unixODBC && \ - curl -L https://github.com/krallin/tini/releases/download/${TINI_VERSION}/tini -o /sbin/tini && \ - curl -L https://github.com/krallin/tini/releases/download/${TINI_VERSION}/tini.asc -o /tini.asc && \ - gpg --batch --keyserver hkp://p80.pool.sks-keyservers.net:80 --recv-keys 595E85A6B1B4779EA4DAAEC70B588DFF0527A9B7 && \ - gpg --batch --verify /tini.asc /sbin/tini && \ - rm -rf /root/.gnupg && \ + curl -L "https://github.com/krallin/tini/releases/download/${TINI_VERSION}/tini" -o /sbin/tini && \ + curl -L "https://github.com/krallin/tini/releases/download/${TINI_VERSION}/tini.asc" -o /tmp/tini.asc && \ + export GNUPGHOME="$(mktemp -d)" && \ + for server in $(shuf -e ha.pool.sks-keyservers.net \ + hkp://p80.pool.sks-keyservers.net:80 \ + ipv4.pool.sks-keyservers.net \ + keyserver.ubuntu.com \ + keyserver.pgp.com \ + pgp.mit.edu) ; do \ + gpg --keyserver "$server" --recv-keys 595E85A6B1B4779EA4DAAEC70B588DFF0527A9B7 && break || : ; \ + done && \ + gpg --batch --verify /tmp/tini.asc /sbin/tini && \ + rm -r "$GNUPGHOME" /tmp/tini.asc && \ chmod +x /sbin/tini && \ yum -y clean all && \ rm -rf /var/cache/yum /var/lib/yum/yumdb/* /usr/lib/udev/hwdb.d/* && \ diff --git a/server-mysql/ubuntu/Dockerfile b/server-mysql/ubuntu/Dockerfile index 809b1cb60..cb75ecedc 100644 --- a/server-mysql/ubuntu/Dockerfile +++ b/server-mysql/ubuntu/Dockerfile @@ -56,11 +56,19 @@ RUN set -eux && \ mysql-client \ snmp-mibs-downloader \ unixodbc && \ - curl -L https://github.com/krallin/tini/releases/download/${TINI_VERSION}/tini -o /sbin/tini && \ - curl -L https://github.com/krallin/tini/releases/download/${TINI_VERSION}/tini.asc -o /tini.asc && \ - gpg --batch --keyserver hkp://p80.pool.sks-keyservers.net:80 --recv-keys 595E85A6B1B4779EA4DAAEC70B588DFF0527A9B7 && \ - gpg --batch --verify /tini.asc /sbin/tini && \ - rm -rf /root/.gnupg && \ + curl -L "https://github.com/krallin/tini/releases/download/${TINI_VERSION}/tini" -o /sbin/tini && \ + curl -L "https://github.com/krallin/tini/releases/download/${TINI_VERSION}/tini.asc" -o /tmp/tini.asc && \ + export GNUPGHOME="$(mktemp -d)" && \ + for server in $(shuf -e ha.pool.sks-keyservers.net \ + hkp://p80.pool.sks-keyservers.net:80 \ + ipv4.pool.sks-keyservers.net \ + keyserver.ubuntu.com \ + keyserver.pgp.com \ + pgp.mit.edu) ; do \ + gpg --keyserver "$server" --recv-keys 595E85A6B1B4779EA4DAAEC70B588DFF0527A9B7 && break || : ; \ + done && \ + gpg --batch --verify /tmp/tini.asc /sbin/tini && \ + rm -r "$GNUPGHOME" /tmp/tini.asc && \ chmod +x /sbin/tini && \ apt-get -y purge curl gpg dirmngr gpg-agent && \ apt-get -y autoremove && \ diff --git a/server-pgsql/centos/Dockerfile b/server-pgsql/centos/Dockerfile index 3b0dfa6d0..ed43ccfbc 100644 --- a/server-pgsql/centos/Dockerfile +++ b/server-pgsql/centos/Dockerfile @@ -48,11 +48,19 @@ RUN set -eux && \ postgresql \ postgresql-libs \ unixODBC && \ - curl -L https://github.com/krallin/tini/releases/download/${TINI_VERSION}/tini -o /sbin/tini && \ - curl -L https://github.com/krallin/tini/releases/download/${TINI_VERSION}/tini.asc -o /tini.asc && \ - gpg --batch --keyserver hkp://p80.pool.sks-keyservers.net:80 --recv-keys 595E85A6B1B4779EA4DAAEC70B588DFF0527A9B7 && \ - gpg --batch --verify /tini.asc /sbin/tini && \ - rm -rf /root/.gnupg && \ + curl -L "https://github.com/krallin/tini/releases/download/${TINI_VERSION}/tini" -o /sbin/tini && \ + curl -L "https://github.com/krallin/tini/releases/download/${TINI_VERSION}/tini.asc" -o /tmp/tini.asc && \ + export GNUPGHOME="$(mktemp -d)" && \ + for server in $(shuf -e ha.pool.sks-keyservers.net \ + hkp://p80.pool.sks-keyservers.net:80 \ + ipv4.pool.sks-keyservers.net \ + keyserver.ubuntu.com \ + keyserver.pgp.com \ + pgp.mit.edu) ; do \ + gpg --keyserver "$server" --recv-keys 595E85A6B1B4779EA4DAAEC70B588DFF0527A9B7 && break || : ; \ + done && \ + gpg --batch --verify /tmp/tini.asc /sbin/tini && \ + rm -r "$GNUPGHOME" /tmp/tini.asc && \ chmod +x /sbin/tini && \ yum -y clean all && \ rm -rf /var/cache/yum /var/lib/yum/yumdb/* /usr/lib/udev/hwdb.d/* && \ diff --git a/server-pgsql/ubuntu/Dockerfile b/server-pgsql/ubuntu/Dockerfile index c1aaf2570..be27d9601 100644 --- a/server-pgsql/ubuntu/Dockerfile +++ b/server-pgsql/ubuntu/Dockerfile @@ -56,11 +56,19 @@ RUN set -eux && \ postgresql-client \ snmp-mibs-downloader \ unixodbc && \ - curl -L https://github.com/krallin/tini/releases/download/${TINI_VERSION}/tini -o /sbin/tini && \ - curl -L https://github.com/krallin/tini/releases/download/${TINI_VERSION}/tini.asc -o /tini.asc && \ - gpg --batch --keyserver hkp://p80.pool.sks-keyservers.net:80 --recv-keys 595E85A6B1B4779EA4DAAEC70B588DFF0527A9B7 && \ - gpg --batch --verify /tini.asc /sbin/tini && \ - rm -rf /root/.gnupg && \ + curl -L "https://github.com/krallin/tini/releases/download/${TINI_VERSION}/tini" -o /sbin/tini && \ + curl -L "https://github.com/krallin/tini/releases/download/${TINI_VERSION}/tini.asc" -o /tmp/tini.asc && \ + export GNUPGHOME="$(mktemp -d)" && \ + for server in $(shuf -e ha.pool.sks-keyservers.net \ + hkp://p80.pool.sks-keyservers.net:80 \ + ipv4.pool.sks-keyservers.net \ + keyserver.ubuntu.com \ + keyserver.pgp.com \ + pgp.mit.edu) ; do \ + gpg --keyserver "$server" --recv-keys 595E85A6B1B4779EA4DAAEC70B588DFF0527A9B7 && break || : ; \ + done && \ + gpg --batch --verify /tmp/tini.asc /sbin/tini && \ + rm -r "$GNUPGHOME" /tmp/tini.asc && \ chmod +x /sbin/tini && \ apt-get -y purge curl gpg dirmngr gpg-agent && \ apt-get -y autoremove && \ From 17451c107f332186c353f1685bf8d96c8b08bb1d Mon Sep 17 00:00:00 2001 From: Alexey Pustovalov Date: Wed, 29 Jul 2020 23:10:48 -0400 Subject: [PATCH 2/2] Fixed PostgreSQL availability check --- server-pgsql/alpine/docker-entrypoint.sh | 6 +++--- server-pgsql/centos/docker-entrypoint.sh | 4 ++-- server-pgsql/ubuntu/docker-entrypoint.sh | 4 ++-- 3 files changed, 7 insertions(+), 7 deletions(-) diff --git a/server-pgsql/alpine/docker-entrypoint.sh b/server-pgsql/alpine/docker-entrypoint.sh index e14281377..7577c4675 100755 --- a/server-pgsql/alpine/docker-entrypoint.sh +++ b/server-pgsql/alpine/docker-entrypoint.sh @@ -186,7 +186,7 @@ check_db_connect_postgresql() { export PGOPTIONS fi - while [ ! "$(psql --host ${DB_SERVER_HOST} --port ${DB_SERVER_PORT} --username ${DB_SERVER_ROOT_USER} --list --quiet 2>/dev/null)" ]; do + while [ ! "$(pg_isready --host ${DB_SERVER_HOST} --port ${DB_SERVER_PORT} --username ${DB_SERVER_ROOT_USER} --dbname ${DB_SERVER_DBNAME} --quiet 2>/dev/null && echo $?)" ]; do echo "**** PostgreSQL server is not available. Waiting $WAIT_TIMEOUT seconds..." sleep $WAIT_TIMEOUT done @@ -204,7 +204,7 @@ psql_query() { if [ -n "${DB_SERVER_ZBX_PASS}" ]; then export PGPASSWORD="${DB_SERVER_ZBX_PASS}" fi - + if [ -n "${DB_SERVER_SCHEMA}" ]; then PGOPTIONS="--search_path=${DB_SERVER_SCHEMA}" export PGOPTIONS @@ -269,7 +269,7 @@ create_db_schema_postgresql() { zcat /usr/share/doc/zabbix-server-postgresql/create.sql.gz | psql --quiet \ --host ${DB_SERVER_HOST} --port ${DB_SERVER_PORT} \ - --username ${DB_SERVER_ZBX_USER} --dbname ${DB_SERVER_DBNAME} 1>/dev/null + --username ${DB_SERVER_ZBX_USER} --dbname ${DB_SERVER_DBNAME} 1>/dev/null || exit 1 unset PGPASSWORD unset PGOPTIONS diff --git a/server-pgsql/centos/docker-entrypoint.sh b/server-pgsql/centos/docker-entrypoint.sh index e14281377..aa927244c 100755 --- a/server-pgsql/centos/docker-entrypoint.sh +++ b/server-pgsql/centos/docker-entrypoint.sh @@ -186,7 +186,7 @@ check_db_connect_postgresql() { export PGOPTIONS fi - while [ ! "$(psql --host ${DB_SERVER_HOST} --port ${DB_SERVER_PORT} --username ${DB_SERVER_ROOT_USER} --list --quiet 2>/dev/null)" ]; do + while [ ! "$(pg_isready --host ${DB_SERVER_HOST} --port ${DB_SERVER_PORT} --username ${DB_SERVER_ROOT_USER} --dbname ${DB_SERVER_DBNAME} --quiet 2>/dev/null && echo $?)" ]; do echo "**** PostgreSQL server is not available. Waiting $WAIT_TIMEOUT seconds..." sleep $WAIT_TIMEOUT done @@ -269,7 +269,7 @@ create_db_schema_postgresql() { zcat /usr/share/doc/zabbix-server-postgresql/create.sql.gz | psql --quiet \ --host ${DB_SERVER_HOST} --port ${DB_SERVER_PORT} \ - --username ${DB_SERVER_ZBX_USER} --dbname ${DB_SERVER_DBNAME} 1>/dev/null + --username ${DB_SERVER_ZBX_USER} --dbname ${DB_SERVER_DBNAME} 1>/dev/null || exit 1 unset PGPASSWORD unset PGOPTIONS diff --git a/server-pgsql/ubuntu/docker-entrypoint.sh b/server-pgsql/ubuntu/docker-entrypoint.sh index 1c2b53a94..7fb0973fd 100755 --- a/server-pgsql/ubuntu/docker-entrypoint.sh +++ b/server-pgsql/ubuntu/docker-entrypoint.sh @@ -186,7 +186,7 @@ check_db_connect_postgresql() { export PGOPTIONS fi - while [ ! "$(psql --host ${DB_SERVER_HOST} --port ${DB_SERVER_PORT} --username ${DB_SERVER_ROOT_USER} --list --quiet 2>/dev/null)" ]; do + while [ ! "$(pg_isready --host ${DB_SERVER_HOST} --port ${DB_SERVER_PORT} --username ${DB_SERVER_ROOT_USER} --dbname ${DB_SERVER_DBNAME} --quiet 2>/dev/null && echo $?)" ]; do echo "**** PostgreSQL server is not available. Waiting $WAIT_TIMEOUT seconds..." sleep $WAIT_TIMEOUT done @@ -269,7 +269,7 @@ create_db_schema_postgresql() { zcat /usr/share/doc/zabbix-server-postgresql/create.sql.gz | psql --quiet \ --host ${DB_SERVER_HOST} --port ${DB_SERVER_PORT} \ - --username ${DB_SERVER_ZBX_USER} --dbname ${DB_SERVER_DBNAME} 1>/dev/null + --username ${DB_SERVER_ZBX_USER} --dbname ${DB_SERVER_DBNAME} 1>/dev/null || exit 1 unset PGPASSWORD unset PGOPTIONS