]> git.nbdom.net Git - nb.git/commitdiff
docker
authorNicolas Boisselier <nicolas.boisselier@gmail.com>
Wed, 16 Nov 2016 21:43:55 +0000 (21:43 +0000)
committerNicolas Boisselier <nicolas.boisselier@gmail.com>
Wed, 16 Nov 2016 21:43:55 +0000 (21:43 +0000)
etc/profile.d/docker.sh

index cf449cc0ec46d250125a25f731cff400b6b67a6c..648ef7d4c7ad56dd37c9f4fe9d2b5ab584df9a8c 100644 (file)
@@ -1,4 +1,5 @@
 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
@@ -10,21 +11,29 @@ docker_build() {
   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 .
 
@@ -32,9 +41,12 @@ docker_build() {
       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"