]> git.nbdom.net Git - nb.git/commitdiff
docker
authorNicolas Boisselier <nicolas.boisselier@gmail.com>
Mon, 14 Nov 2016 22:44:00 +0000 (22:44 +0000)
committerNicolas Boisselier <nicolas.boisselier@gmail.com>
Mon, 14 Nov 2016 22:44:00 +0000 (22:44 +0000)
etc/profile
etc/profile.d/docker.sh
etc/profile.d/envs
etc/profile.d/puppet.sh

index 7b2a8122a99f822b22d613d610582ba260910b89..aaf44e2d2ff838a0b0139a86027725caaa2eb362 100755 (executable)
@@ -1,3 +1,4 @@
+#echo $BASH_SOURCE
 #
 # Avoid infinit loop. Eg: profile -> .bashrc -> profile
 #
@@ -20,6 +21,7 @@ export NB_LOOP=1
 #
 dir=''
 #NB_DEBUG="echo $0:"
+#[ "${BASH-no}" != "no" ] && echo Is BASH
 case "$BASH_SOURCE" in
   */*) dir="${BASH_SOURCE%/*}";;
   *)
index efbd13764831c7b42a015b4ca0cc4eeedd2e92ea..5c827889519f988b20e95a62288699e0f7484b95 100644 (file)
@@ -25,6 +25,7 @@ docker_build() {
 
   else
     perl -ne '/^\s*\#\s*DOCKER_BUILD\s*(.*?)$/ and system "$1"' Dockerfile
+    echo $FUNCNAME: docker build --rm --force-rm=true -t $@ $docker_name .
     docker build --rm --force-rm=true -t $@ $docker_name .
 
     if [ "$?" != 0 ]; then
@@ -39,17 +40,29 @@ docker_build() {
 }
 
 docker_run() {
-  shell_help_noarg "Usage: $FUNCNAME [DIR_DOCKERFILE]" "$@" && return
+  shell_help "Usage: $FUNCNAME [DIR_DOCKERFILE]" "$@" && return
 
-  local docker_name=$(basename `pwd`)
-  local pwd=""
+  local docker_name
+  local pwd
   if [ -n "$1" ]; then
-    [ -d "$1" ] && docker_name=$(basename $1) && pwd=`pwd` && cd "$1"
+    if [ -d "$1" ]; then
+      docker_name=$(basename $1) && pwd=`pwd` && cd "$1"
+    else
+      docker_name="$1"
+    fi
     shift
   fi
+
+  [ -z "$docker_name" -a -e "Dockerfile" ] && docker_name=$(basename `pwd`)
+  #[ -z "$docker_name" ] && docker_name=$(basename `pwd`)
+
+  [ -z "$(docker images -q "$docker_name")" ] && echo "$FUNCNAME: Can't find image $docker_name. Try docker_build $docker_name" 1>&2 && return
+
   local opt
-  [ -z "$@" ] && opt=$(perl -ne '/^\s*\#\s*DOCKER_RUN\s*(.*?)$/&&print "$1 "' "Dockerfile" 2>/dev/null)
-  eval docker run --rm -it --name $docker_name --hostname $docker_name $opt$@ $docker_name
+  #[ -z "$*" ] && opt=$(perl -ne '/^\s*\#\s*DOCKER_RUN\s*(.*?)$/&&print qq"|$1 "|' "Dockerfile" 2>/dev/null)
+  [ -z "$*" ] && opt=$(echo "$(perl -ne '/^\s*\#\s*DOCKER_RUN\s*(.*?)$/&&print qq|$1 "|' Dockerfile 2>/dev/null)")
+  echo $FUNCNAME: docker run --rm -it --name $docker_name --hostname $docker_name $opt$@ $docker_name
+  docker run --rm -it --name $docker_name --hostname $docker_name $opt$@ $docker_name
 
   [ -n "$pwd" ] && cd "$pwd"
 }
index 9c2fa1ad39fb27ad83751df36d5afe73b1e25a05..eb5f1b4c7dd2dc0f1cec8b338ceb09468de491d3 100644 (file)
@@ -140,4 +140,5 @@ unset ls_opt ll_opt
 #
 # bye
 #
+[ -n "$NB_DEBUG" ] && $NB_DEBUG "Color: $color_prompt, TERM=$TERM"
 unset color_prompt
index fd3ea7e300414ac75c68c789c9fa187733191ee1..43a1afef62c2745122c2f646efa56aaaba2d4f7b 100644 (file)
@@ -1,4 +1,3 @@
-which puppet > /dev/null || return 0
 puppet2yaml() {
   perl -pe '
 s/^(.*)\{(.*?:)\s*/$1:\n  $2\n/;
@@ -8,6 +7,39 @@ s/\s*\}\s*//;
 ' $@
 }
 
+puppet_align() {
+perl -e '
+$q = chr(39);
+
+while (<>) {
+  # No quoted vars
+  s/"(\$)\{([\w_:]+)\}"/$1$2/;
+  s/"(\$[\w_:]+)"/$1/;
+
+  # No double quote
+  s/"([_\w]+)?"/$q$1$q/;
+
+  # No quoted boolean
+  s/[$q"](true|false)[$q"]/$1/;
+
+  $len = $new if /(\S+)\s*=>/ and ($new = length($1))>$len;
+  push @l,$_;
+
+}
+
+END { for (@l) {
+
+  if (@_ = /^(\s*)(.*?)\s*=>\s*(.*)\s*$/) {
+    printf "%s%-${len}s => %s\n", @_;
+  } else  {
+    print $_;
+  }
+
+}}
+'
+}
+which puppet > /dev/null || return 0
+
 puppet_upgrade_modules() {
   local m
   for m in $(puppet module list|perl -ne '/([\w-]+).*?v[\.\d]+/ and print "$1\n"'); do