+which docker > /dev/null || return 0
+
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
fi
+_docker_name() {
+ if [ -n "$1" -a -e "$1" ]; then
+ cd "$1" 1>&2 || return 1
+ shift
+ elif [ -e Dockerfile ]; then
+ [ 1 = 1 ]
+ fi
+ basename $(pwd)
+}
+
+docker_build() {
+ local docker_name=$(_docker_name "$1") || return; shift
+ [ -e Dockerfile ] || exec echo "Dockerfile missing in $(pwd)" 1>&2
+
+ if [ -n "$(docker images -q $docker_name 2>/dev/null)" ]; then
+ echo "$docker_name already build."
+ return 1
+
+ else
+ perl -ne '/^\s*\#\s*DOCKER_BUILD\s*(.*?)$/ and system "$1"' Dockerfile
+ docker build --rm --force-rm=true -t $docker_name .
+
+ if [ "$?" != 0 ]; then
+ docker rmi -f $(docker images -qf "dangling=true")
+ echo "Review your Docker file"
+ return 1
+ fi
+ fi
+
+ return 0
+}
+
+docker_run() {
+ local docker_name=$(_docker_name "$1") || return
+ [ -n "$1" -a -d "$1" ] && cd "$1"
+ shift
+ perl -ne '/^\s*\#\s*DOCKER_RUN\s*(.*?)$/ and $RUN=1 and system "$1"; END{exit ($RUN ? 0 : 1)}' Dockerfile && return
+ docker run --rm -it --name $docker_name --hostname $docker_name $@ $docker_name
+}
+
+docker_clean() {
+ local images=$(docker images -qf "dangling=true")
+ [ -n "$images" ] && docker rmi -f $images | sed "s/^/images /"
+
+ local volumes=$(docker volume ls -qf dangling=true)
+ [ -n "$volumes" ] && docker volume rm $volumes | sed "s/^/volumes /"
+
+ local containers=$(docker ps -f status=dead -f status=exited -f status=created -aq)
+ [ -n "$containers" ] && docker rm -vf $containers | sed "s/^/containers /"
+}
+
+#[ -n "$containers" -a -n "$volumes" -a -n "$images" ]
# NB 12.11.16 docker-image2dockerfile() {
# NB 12.11.16 docker history --no-trunc "$1" | \
# NB 12.11.16 sed -n -e 's,.*/bin/sh -c #(nop) \(MAINTAINER .*[^ ]\) *0 B,\1,p' | \
perl -e '$_=join("",<>); s/\barray\(((?:[^()]++|\((?R)\))*)\)/[$1]/sg; print $_; ' $@
}
-function php_check() { php5 --define error_reporting=22519 --define display_errors=1 --define log_errors=1 --define html_errors=0 $@; }
-
+which php > /dev/null || return 0
+function php_check() { php --define error_reporting=22519 --define display_errors=1 --define log_errors=1 --define html_errors=0 $@; }