From 71661b4971a6d5b4a8305381cd5a268cef0e607c Mon Sep 17 00:00:00 2001 From: Sergey Shambir <sergey.shambir@ispringsolutions.com> Date: Sat, 2 Mar 2019 11:26:21 +0300 Subject: [PATCH] Added support for envsubst in image/container name Envsubst allows to use dynamic container name We use image name env substitution with docker-compose and .env to select right image tag for local development Within alpine, envsubst installed with gettext package. --- Dockerfile | 2 +- docker-entrypoint | 6 +++--- 2 files changed, 4 insertions(+), 4 deletions(-) diff --git a/Dockerfile b/Dockerfile index aa574b6..a7260e4 100644 --- a/Dockerfile +++ b/Dockerfile @@ -1,7 +1,7 @@ FROM library/docker:stable ENV HOME_DIR=/opt/crontab -RUN apk add --no-cache --virtual .run-deps bash jq \ +RUN apk add --no-cache --virtual .run-deps gettext bash jq \ && mkdir -p ${HOME_DIR}/jobs ${HOME_DIR}/projects \ && adduser -S docker -D diff --git a/docker-entrypoint b/docker-entrypoint index 0f40c90..d0b80f4 100755 --- a/docker-entrypoint +++ b/docker-entrypoint @@ -12,7 +12,7 @@ if [ "${LOG_FILE}" == "" ]; then LOG_DIR=/var/log/crontab LOG_FILE=${LOG_DIR}/jobs.log mkdir -p ${LOG_DIR} - touch ${LOG_FILE} + touch ${LOG_FILE} fi CONFIG=${HOME_DIR}/config.json @@ -40,7 +40,7 @@ slugify() { make_image_cmd() { DOCKERARGS=$(echo ${1} | jq -r .dockerargs) if [ "${DOCKERARGS}" == "null" ]; then DOCKERARGS=; fi - IMAGE=$(echo ${1} | jq -r .image) + IMAGE=$(echo ${1} | jq -r .image | envsubst) TMP_COMMAND=$(echo ${1} | jq -r .command) echo "docker run ${DOCKERARGS} ${IMAGE} ${TMP_COMMAND}" } @@ -50,7 +50,7 @@ make_container_cmd() { if [ "${DOCKERARGS}" == "null" ]; then DOCKERARGS=; fi SCRIPT_NAME=$(echo ${1} | jq -r .name) PROJECT=$(echo ${1} | jq -r .project) - CONTAINER=$(echo ${1} | jq -r .container) + CONTAINER=$(echo ${1} | jq -r .container | envsubst) TMP_COMMAND=$(echo ${1} | jq -r .command) if [ "${PROJECT}" != "null" ]; then