From 268952a492ae030aa056ea3bacd0bb1c81afc0d9 Mon Sep 17 00:00:00 2001 From: Brad Ison Date: Wed, 13 Jun 2018 13:26:45 -0400 Subject: [PATCH] Allow arbitrary commands passed to entrypoint --- Dockerfile | 2 +- quay-entrypoint.sh | 20 ++++++++++++++------ 2 files changed, 15 insertions(+), 7 deletions(-) diff --git a/Dockerfile b/Dockerfile index b9f9074d5..32540a991 100644 --- a/Dockerfile +++ b/Dockerfile @@ -142,4 +142,4 @@ RUN ./scripts/detect-config.sh EXPOSE 443 8443 80 -ENTRYPOINT [ "/bin/bash", "./quay-entrypoint.sh"] +ENTRYPOINT ["/quay-registry/quay-entrypoint.sh"] diff --git a/quay-entrypoint.sh b/quay-entrypoint.sh index 24c58b500..7401e511d 100755 --- a/quay-entrypoint.sh +++ b/quay-entrypoint.sh @@ -3,8 +3,12 @@ MODE="$1" display_usage() { - echo "This script takes one argument." - echo -e "\nUsage: ${0} \n" + echo "Usage: ${0} " + echo + echo "If the first argument isn't one of the above modes," + echo "the arguments will be exec'd directly, i.e.:" + echo + echo " ${0} uptime" } if [[ "${MODE}" = "help" ]] @@ -34,26 +38,30 @@ venv/bin/python -m displayversion case "$MODE" in "shell") echo "Entering shell mode" - /bin/bash - exit 0 + exec /bin/bash ;; "config") echo "Entering config mode, only copying config-app entrypoints" cp -r ${QUAYDIR}/config_app/init/service/* /etc/service + exec /sbin/my_init ;; "interactive") echo "Copying $MODE files" cp -r ${QUAYCONF}/init/service/interactive/* /etc/service + exec /sbin/my_init ;; "batch") echo "Copying $MODE files" cp -r ${QUAYCONF}/init/service/batch/* /etc/service + exec /sbin/my_init ;; - *) + "") echo "Copying all files" cp -r ${QUAYCONF}/init/service/interactive/* /etc/service cp -r ${QUAYCONF}/init/service/batch/* /etc/service + exec /sbin/my_init ;; esac -/sbin/my_init \ No newline at end of file +# Not a Quay mode, just exec the args. +exec "$@"