#!/bin/bash -eu DIR="$( cd "$( dirname "${BASH_SOURCE[0]}" )" >/dev/null 2>&1 && pwd )" BUILD_OPTS="$*" DOCKER="docker" if ! ${DOCKER} ps >/dev/null 2>&1; then DOCKER="sudo docker" fi if ! ${DOCKER} ps >/dev/null; then echo "error connecting to docker:" ${DOCKER} ps exit 1 fi if [ -f config ]; then # shellcheck disable=SC1091 source config fi BASE_DIR="$(cd "$(dirname "${BASH_SOURCE[0]}")" && pwd)" STAGE_LIST=${STAGE_LIST:-${BASE_DIR}/stage*} IMAGE_NAME=${IMAGE_NAME:-pikube_gen} echo "Building base image..." ${DOCKER} build -t ${IMAGE_NAME}:init "${DIR}" PREVIOUS_IMAGE=${IMAGE_NAME}:init for STAGE_DIR in $STAGE_LIST; do STAGE_NAME=$(basename $STAGE_DIR) CONTAINER_NAME=${IMAGE_NAME}_${STAGE_NAME} BASE_IMAGE_NAME="${IMAGE_NAME}:${STAGE_NAME}_base" BEFORE_BUILD_ID=$(docker inspect --format {{.Id}} ${BASE_IMAGE_NAME} || echo "noexists") docker build --rm -t ${IMAGE_NAME}:${STAGE_NAME}_base -f- $STAGE_DIR <