BIGTOP-2312. Add environment check
diff --git a/provisioner/docker/README.md b/provisioner/docker/README.md
index fbc82b4..c95b218 100644
--- a/provisioner/docker/README.md
+++ b/provisioner/docker/README.md
@@ -108,6 +108,7 @@
        -e, --exec INSTANCE_NO|INSTANCE_NAME      Execute command on a specific instance. Instance can be specified by name or number.
                                                  For example: docker-hadoop.sh --exec 1 bash
                                                               docker-hadoop.sh --exec docker_bigtop_1 bash
+       -E, --env-check                           Check whether required tools has been installed
        -p, --provision                           Deploy configuration changes
        -s, --smoke-tests                         Run Bigtop smoke tests
        -h, --help
diff --git a/provisioner/docker/docker-hadoop.sh b/provisioner/docker/docker-hadoop.sh
index 2323456..93c8c9c 100755
--- a/provisioner/docker/docker-hadoop.sh
+++ b/provisioner/docker/docker-hadoop.sh
@@ -26,6 +26,7 @@
     echo "       -e, --exec INSTANCE_NO|INSTANCE_NAME      Execute command on a specific instance. Instance can be specified by name or number."
     echo "                                                 For example: $PROG --exec 1 bash"
     echo "                                                              $PROG --exec docker_bigtop_1 bash"
+    echo "       -E, --env-check                           Check whether required tools has been installed"
     echo "       -p, --provision                           Deploy configuration changes"
     echo "       -s, --smoke-tests                         Run Bigtop smoke tests"
     echo "       -h, --help"
@@ -155,6 +156,16 @@
     fi
 }
 
+env-check() {
+    echo "Environment check..."
+    echo "Check docker:"
+    docker -v || exit 1
+    echo "Check docker-compose:"
+    docker-compose -v || exit 1
+    echo "Check ruby:"
+    ruby -v || exit 1
+}
+
 PROG=`basename $0`
 
 if [ $# -eq 0 ]; then
@@ -169,6 +180,7 @@
           echo "Create requires a number" 1>&2
           usage
         fi
+        env-check
         create $2
         shift 2;;
     -C|--conf)
@@ -189,6 +201,9 @@
         shift
         execute $@
         shift $#;;
+    -E|--env-check)
+        env-check
+        shift;;
     -p|--provision)
         provision
         shift;;