From 0764fd7dea3f56627bb42e285cfb818cce08229e Mon Sep 17 00:00:00 2001 From: Martin André Date: Thu, 26 Feb 2015 15:00:42 +0900 Subject: Allow changing base image By changing the PREFIX variable in the .buildconf one is now able to build docker images from different bases. For example, add the following line to your .buildconf file to build CentOS based images: PREFIX=centos-rdo- Default base image is Fedora. For now only RH family is supported. Additionally, changing the namespace either with the NAMESPACE variable in .buildconf or via --namespace commandline option now changes the source namespace as well from the default kollaglue one. Implements: blueprint multi-baseos Co-Authored-By: Steven Dake Change-Id: I3964cd2292789ea883a1f2d2738a5731a4fff49b --- tools/build-all-docker-images | 2 ++ tools/build-docker-image | 4 ++++ 2 files changed, 6 insertions(+) (limited to 'tools') diff --git a/tools/build-all-docker-images b/tools/build-all-docker-images index 2780d50e8..d49d0ac92 100755 --- a/tools/build-all-docker-images +++ b/tools/build-all-docker-images @@ -70,6 +70,8 @@ function init_image { local image="${NAMESPACE:+${NAMESPACE}/}${PREFIX}${img_dir##*/}" local base_image=$(cat $img_dir/Dockerfile | gawk 'match($0, /^\s*FROM\s+(\S+)/, matches) {print matches[1]}' ) + base_image=${base_image//%%KOLLA_NAMESPACE%%/$NAMESPACE} + base_image=${base_image//%%KOLLA_PREFIX%%/$PREFIX} img_dirs[$image]=$img_dir dependency[$image]=$base_image diff --git a/tools/build-docker-image b/tools/build-docker-image index 82d210d0c..fae5cab98 100755 --- a/tools/build-docker-image +++ b/tools/build-docker-image @@ -90,6 +90,10 @@ fi TMPDIR=$(mktemp -d /tmp/output.XXXXXXXXXX) cp -aL $IMGDIR/* $TMPDIR +# Use an extension for in-place editing for portability, as GNU and BSD +# versions of sed behave differently otherwise +sed -i.bak "s/%%KOLLA_NAMESPACE%%/${NAMESPACE}/g" $TMPDIR/Dockerfile +sed -i.bak "s/%%KOLLA_PREFIX%%/${PREFIX}/g" $TMPDIR/Dockerfile if ! docker build ${BUILDFLAGS} -t "$FULLIMAGE" $TMPDIR; then echo "ERROR: failed to build $FULLIMAGE" -- cgit v1.2.3