summaryrefslogtreecommitdiff
path: root/bin/docker-dotenv
blob: fb40a9960a965f39d6023564f10da7432d44fda7 (plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
#!/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