From 9e2bdffa82d104797bbb976f85d0bdb1eb4d12b6 Mon Sep 17 00:00:00 2001 From: edualb <39157101+edualb@users.noreply.github.com> Date: Tue, 13 Jun 2023 15:53:52 +0100 Subject: [PATCH 1/2] Update docker-healthcheck for mongodb 6.0+ --- mongo/docker-healthcheck | 8 +++++++- 1 file changed, 7 insertions(+), 1 deletion(-) diff --git a/mongo/docker-healthcheck b/mongo/docker-healthcheck index 22d8d7a..182a3d2 100755 --- a/mongo/docker-healthcheck +++ b/mongo/docker-healthcheck @@ -3,7 +3,13 @@ set -eo pipefail host="$(hostname --ip-address || echo '127.0.0.1')" -if mongo --quiet "$host/test" --eval 'quit(db.runCommand({ ping: 1 }).ok ? 0 : 2)'; then +# version < 6.0.0 +# if mongo --quiet "$host/test" --eval 'quit(db.runCommand({ ping: 1 }).ok ? 0 : 2)'; then +# exit 0 +# fi + +# version > 6.0.0 +if mongosh --quiet "$host/test" --eval 'quit(db.runCommand({ ping: 1 }).ok ? 0 : 2)'; then exit 0 fi From a7b2730f2bef8407c8418ad6e540fa28f66803c1 Mon Sep 17 00:00:00 2001 From: Eduardo Silva Date: Wed, 14 Jun 2023 15:07:24 +0100 Subject: [PATCH 2/2] (mongo): mongo <= 4.4 and mongosh >= 5.0 Include Dockerfiles for mongo version 4.4, 5.0 and latest in order to test mongo and mongosh commands. --- mongo/{Dockerfile => Dockerfile.4.4} | 2 +- mongo/Dockerfile.5.0 | 5 +++++ mongo/Dockerfile.latest | 5 +++++ mongo/docker-healthcheck | 19 +++++++++++-------- 4 files changed, 22 insertions(+), 9 deletions(-) rename mongo/{Dockerfile => Dockerfile.4.4} (84%) create mode 100644 mongo/Dockerfile.5.0 create mode 100644 mongo/Dockerfile.latest diff --git a/mongo/Dockerfile b/mongo/Dockerfile.4.4 similarity index 84% rename from mongo/Dockerfile rename to mongo/Dockerfile.4.4 index 8fc6779..612d349 100644 --- a/mongo/Dockerfile +++ b/mongo/Dockerfile.4.4 @@ -1,4 +1,4 @@ -FROM mongo +FROM mongo:4.4 COPY docker-healthcheck /usr/local/bin/ diff --git a/mongo/Dockerfile.5.0 b/mongo/Dockerfile.5.0 new file mode 100644 index 0000000..7a01b75 --- /dev/null +++ b/mongo/Dockerfile.5.0 @@ -0,0 +1,5 @@ +FROM mongo:5.0 + +COPY docker-healthcheck /usr/local/bin/ + +HEALTHCHECK CMD ["docker-healthcheck"] diff --git a/mongo/Dockerfile.latest b/mongo/Dockerfile.latest new file mode 100644 index 0000000..67866d6 --- /dev/null +++ b/mongo/Dockerfile.latest @@ -0,0 +1,5 @@ +FROM mongo:latest + +COPY docker-healthcheck /usr/local/bin/ + +HEALTHCHECK CMD ["docker-healthcheck"] diff --git a/mongo/docker-healthcheck b/mongo/docker-healthcheck index 182a3d2..9288acc 100755 --- a/mongo/docker-healthcheck +++ b/mongo/docker-healthcheck @@ -3,14 +3,17 @@ set -eo pipefail host="$(hostname --ip-address || echo '127.0.0.1')" -# version < 6.0.0 -# if mongo --quiet "$host/test" --eval 'quit(db.runCommand({ ping: 1 }).ok ? 0 : 2)'; then -# exit 0 -# fi +# mongo for version <= 4.4 +# mongosh for version >= 5.0 +for cmd in mongosh mongo; do + if ! command -v "$cmd" > /dev/null; then + continue; + fi -# version > 6.0.0 -if mongosh --quiet "$host/test" --eval 'quit(db.runCommand({ ping: 1 }).ok ? 0 : 2)'; then - exit 0 -fi + if "$cmd" --quiet "$host/test" --eval 'quit(db.runCommand({ ping: 1 }).ok ? 0 : 2)'; then + exit 0 + fi + +done exit 1