[ -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
fi
-[ -z "$DOCKER_DIR" -a -d "~nico/owncloud/Docker" ] && DOCKER_DIR="~nico/owncloud/Docker"
+export DOCKER_IP=$(perl -e '$ENV{DOCKER_HOST} =~ /\D(\d+\.\d+\.\d+\.\d+)\D/&&print $1')
+
+[ -d ~/ownCloud/Docker ] && export DOCKER_HOME=~/ownCloud/Docker
[ -z "$DOCKER_HUB" ] && DOCKER_HUB=""
-DOCKER_IP=$(perl -e '$ENV{DOCKER_HOST} =~ /\D(\d+\.\d+\.\d+\.\d+)\D/&&print $1')
docker_build() {
if [ -n "$1" ]; then
- [ -z "$DOCKER_DIR" -o -d "$1" ] || cd "$DOCKER_DIR"
-
if [ -d "$1" ]; then
- pwd=$(pwd)
+ pwd=$(pwd);
cd "$1" || return
docker_name=$(basename "$(pwd)")
+ elif [ -n "$DOCKER_HOME" ]; then
+ pwd=$(pwd);
+ cd "$DOCKER_HOME" || return
+ docker_name=$(basename "$(pwd)")
fi
shift
return $ex
}
+# NB 17.11.16 __docker_cd() {
+# NB 17.11.16 eval $(_docker_cd "$@")
+# NB 17.11.16 echo
+# NB 17.11.16 echo "docker_name=$docker_name"
+# NB 17.11.16 echo "docker_dir=$docker_dir"
+# NB 17.11.16 echo "pwd=$pwd"
+# NB 17.11.16 echo
+# NB 17.11.16 echo "BACK:"; _docker_cd -back
+# NB 17.11.16 eval $(_docker_cd -back)
+# NB 17.11.16 echo
+# NB 17.11.16 echo "PWD"
+# NB 17.11.16 pwd
+# NB 17.11.16 }
+
+_docker_cd() {
+ case "$1" in
+ -back)
+ echo '[ -n "$pwd" ] && cd "$pwd";'
+ ;;
+
+ *)
+
+ local cd
+ echo 'local docker_name="'$1'";'
+ echo 'local pwd;'
+ echo 'local docker_dir="'$(pwd)'";'
+
+ if [ -n "$1" ]; then
+ echo 'shift;'
+
+ if [ -d "$1" ]; then
+ cd="$1"
+
+ elif [ -n "$DOCKER_HOME" -a -d "$DOCKER_HOME/$1" ]; then
+ cd="$DOCKER_HOME/$1"
+
+ fi
+
+ else
+ return
+ echo 'return 1;'
+
+ fi
+
+ local docker_name
+ #[ -n "$
+ if [ -n "$cd" ]; then
+ echo "$cd `pwd`" 1>&2
+ local pwd=`pwd`
+
+ ! cd "$cd" echo 'return 1;' && return 1
+ echo 'pwd="'$(pwd)'";'
+ echo 'docker_dir="'$cd'";'
+ echo 'cd "'$cd'" || return;'
+
+ docker_name=$(basename "$(pwd)")
+ [ -z "$docker_name" ] && docker_name="$cd"
+ echo 'docker_name="'$docker_name'";'
+ fi
+
+ ;;
+ esac
+}
+
docker_run() {
shell_help "Usage: $FUNCNAME [DIR_DOCKERFILE]" "$@" && return
- local docker_name
- local pwd
- if [ -n "$1" ]; then
- if [ -d "$1" ]; then
- docker_name=$(basename $1) && pwd=`pwd` && cd "$1"
- else
- docker_name="$1"
- fi
- shift
- fi
-
+ eval $(_docker_cd "$@")
[ -z "$docker_name" -a -e "Dockerfile" ] && docker_name=$(basename `pwd`)
#[ -z "$docker_name" ] && docker_name=$(basename `pwd`)
fi
- [ -n "$pwd" ] && cd "$pwd"
+ eval $(_docker_cd -back)
}
docker_clean() {
+##############################################################################
+#
+# Requirement:
+# - functions: getexp_url shell_help_noarg
+#
+#
# See: http://www.infoworld.com/article/2614879/mac-os-x/top-20-os-x-command-line-secrets-for-power-users.html
+#
+##############################################################################
mac_pbcopy() {
local host="$1"; shift
cat $@ | ssh -q $host -o 'ForwardAgent yes' 'cat|pbcopy'
# Aliases
case "$prg" in
- docker) [ "$(sysctl -n kern.hv_support 2>/dev/null)" = "0" ] && echo "Docker not compatible. \`See sysctl -n kern.hv_support\`" && return; prg="https://download.docker.com/mac/stable/Docker.dmg" ;;
+ docker-compose)
+ sudo curl -L "https://github.com/docker/compose/releases/download/1.8.1/docker-compose-$(uname -s)-$(uname -m)" -o /usr/local/bin/docker-compose
+ sudo chmod +x /usr/local/bin/docker-compose
+ return
+ ;;
+ docker)
+ [ "$(sysctl -n kern.hv_support 2>/dev/null)" = "0" ] \
+ && echo "Docker not compatible. \`See sysctl -n kern.hv_support\`" \
+ && return; prg="https://download.docker.com/mac/stable/Docker.dmg"
+ ;;
xcode) prg="http://adcdownload.apple.com/Developer_Tools/Command_Line_Tools_macOS_10.12_for_Xcode_8.1/Command_Line_Tools_macOS_10.12_for_Xcode_8.1.dmg" ;;
virtualbox) prg=$(getexp_url 'https?://download.virtualbox.org/virtualbox/[^"\s]+dmg' https://www.virtualbox.org/wiki/Downloads) ;;
macport) prg=$(getexp_url 'https?://distfiles.macports.org/MacPorts/MacPorts[^"\s]+pkg' https://www.macports.org/install.php) ;;