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 22d8d7a..9288acc 100755 --- a/mongo/docker-healthcheck +++ b/mongo/docker-healthcheck @@ -3,8 +3,17 @@ 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 - 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 + + if "$cmd" --quiet "$host/test" --eval 'quit(db.runCommand({ ping: 1 }).ok ? 0 : 2)'; then + exit 0 + fi + +done exit 1