which docker > /dev/null || return 0
+[ -z "$DOCKER_DIR" -a -d "~nico/owncloud/Docker" ] && DOCKER_DIR="~nico/owncloud/Docker"
if [ -z "$MYVIMRC" ]; then
[ -z "$DOCKER_CERT_PATH" -o ! -e "$DOCKER_CERT_PATH" ] && which docker-machine>/dev/null && docker-machine ls -q 2>/dev/null |grep -qFm1 docker && eval "$(docker-machine env docker)" 2>/dev/null
local docker_name=$(basename "$(pwd)")
local pwd=""
- if [ -n "$1" -a -d "$1" ]; then
- pwd=$(pwd)
- cd "$1" || return
- docker_name=$(basename "$(pwd)")
+ if [ -n "$1" ]; then
+
+ if [ -d "$1" ]; then
+ pwd=$(pwd)
+ cd "$1" || return
+ docker_name=$(basename "$(pwd)")
+ fi
+
shift
fi
- [ ! -e Dockerfile ] && echo "$FUNCNAME: Dockerfile missing in $(pwd)" 1>&2 && return
local ex=0
if [ -n "$(docker images -q $docker_name 2>/dev/null)" ]; then
echo "$FUNCNAME: $docker_name already build."
+ ex=2
+
+ elif [ ! -e Dockerfile ]; then
+ echo "$FUNCNAME: Dockerfile missing in $(pwd)" 1>&2
ex=1
else
perl -ne '/^\s*\#\s*DOCKER_BUILD\s*(.*?)$/ and system "$1"' Dockerfile
+
echo $FUNCNAME: docker build --rm --force-rm=true --tags $docker_name $@ $docker_name .
docker build --rm --force-rm=true -t $@ $docker_name .
docker rmi -f $(docker images -qf "dangling=true")
echo "$FUNCNAME: Review your Docker file"
ex=1
+
+ else
+ perl -ne '/^\s*\#\s*DOCKER_BUILD_POST\s*(.*?)$/ and system "$1"' Dockerfile
+ ex=${?:-0}
fi
- perl -ne '/^\s*\#\s*DOCKER_BUILD_POST\s*(.*?)$/ and system "$1"' Dockerfile
fi
[ -n "$pwd" ] && cd "$pwd"