#!/bin/bash cd "$(dirname "$0")" # if build image is not specified, use default if [ -z "$BUILD_IMAGE" ]; then BUILD_IMAGE="m1k1o/neko" fi echo "Using build image: $BUILD_IMAGE" echo "Using flavour: $FLAVOUR" RUNTIME_IMAGE="neko-runtime" # if flavour is specified, append it to the image name and Dockerfile if [ "$FLAVOUR" != "" ]; then RUNTIME_IMAGE="$RUNTIME_IMAGE-$FLAVOUR" BASE_IMAGE="$BUILD_IMAGE:$FLAVOUR-base" else BASE_IMAGE="$BUILD_IMAGE:base" fi # if -f is passed, force rebuild if [ "$1" == "-f" ]; then echo "Forcing rebuild, removing existing images" docker rmi neko-xorg-deps neko-server neko-client neko-runtime $BASE_IMAGE fi function docker_image_exists() { [ "$(docker images -q $1 2> /dev/null)" != "" ] } if ! docker_image_exists neko-xorg-deps; then echo "Building neko-xorg-deps image" docker build -t neko-xorg-deps runtime/xorg-deps/ else echo "neko-xorg-deps image already exists" fi if ! docker_image_exists neko-server; then echo "Building neko-server image" docker build -t neko-server server/ else echo "neko-server image already exists" fi if ! docker_image_exists neko-client; then echo "Building neko-client image" docker build -t neko-client client/ else echo "neko-client image already exists" fi if ! docker_image_exists $RUNTIME_IMAGE; then echo "Building $RUNTIME_IMAGE image" docker build -t $RUNTIME_IMAGE -f runtime/Dockerfile.$FLAVOUR runtime/ else echo "$RUNTIME_IMAGE image already exists" fi docker build -t $BASE_IMAGE -f - . <