#!/bin/sh # input: # SOURCE_IMAGE: Image name for the source image # TARGET_IMAGE: Name of image to build # DOTENV: The name of the .env.* file that contains the default env vars to export. # e.g. DOTENV=".env.12-3-stable" set -e cd "$(dirname "$0")/.." DOCKERFILE=Dockerfile.env rm -f $DOCKERFILE touch $DOCKERFILE echo "FROM $SOURCE_IMAGE" > $DOCKERFILE echo "Reading... $DOTENV" cat "$DOTENV" while IFS= read -r line; do echo "ENV $line" >> $DOCKERFILE done < "$DOTENV" echo "Pulling... $SOURCE_IMAGE" docker pull "$SOURCE_IMAGE" echo "Building... $DOCKERFILE and tagging $TARGET_IMAGE" cat $DOCKERFILE docker build -t "$TARGET_IMAGE" -f $DOCKERFILE . echo "Verifying env..." docker run --entrypoint='' "$TARGET_IMAGE" env