Merge pull request #4 from liuruiyiyang/fix_fixed_JAVA_HOME_bug

Polish existing scripts and docs
diff --git a/.gitignore b/.gitignore
index b6889bb..558ab45 100644
--- a/.gitignore
+++ b/.gitignore
@@ -1 +1,3 @@
 stages/
+
+.idea/
\ No newline at end of file
diff --git a/README.md b/README.md
index 4e821fd..ec46e17 100644
--- a/README.md
+++ b/README.md
@@ -47,6 +47,10 @@
 ./play-docker.sh
 
 ```
+> NOTE:
+Some Linux Systems (e.g. Ubuntu) may generate path 
+```stages/4.5.0/template```, please adjust the command accordingly.
+
 
 #### 2. Cluster with docker-compose
 
diff --git a/image-build/Dockerfile b/image-build/Dockerfile
index d890715..b810dc6 100644
--- a/image-build/Dockerfile
+++ b/image-build/Dockerfile
@@ -44,16 +44,13 @@
 # Rocketmq home
 ENV ROCKETMQ_HOME  /home/rocketmq/rocketmq-${ROCKETMQ_VERSION}
 
-# Java home
-ENV JAVA_HOME  /usr/lib/jvm/java-1.8.0-openjdk-1.8.0.212.b04-0.el7_6.x86_64
-
 WORKDIR  ${ROCKETMQ_HOME}
 
 RUN set -eux; \
-    curl -s https://dist.apache.org/repos/dist/release/rocketmq/${ROCKETMQ_VERSION}/rocketmq-all-${ROCKETMQ_VERSION}-bin-release.zip -o rocketmq.zip; \
-    curl -s https://dist.apache.org/repos/dist/release/rocketmq/${ROCKETMQ_VERSION}/rocketmq-all-${ROCKETMQ_VERSION}-bin-release.zip.asc -o rocketmq.zip.asc; \
+    curl https://dist.apache.org/repos/dist/release/rocketmq/${ROCKETMQ_VERSION}/rocketmq-all-${ROCKETMQ_VERSION}-bin-release.zip -o rocketmq.zip; \
+    curl https://dist.apache.org/repos/dist/release/rocketmq/${ROCKETMQ_VERSION}/rocketmq-all-${ROCKETMQ_VERSION}-bin-release.zip.asc -o rocketmq.zip.asc; \
     #https://www.apache.org/dist/rocketmq/KEYS
-	curl -s https://www.apache.org/dist/rocketmq/KEYS -o KEYS; \
+	curl https://www.apache.org/dist/rocketmq/KEYS -o KEYS; \
 	\
 	gpg --import KEYS; \
     gpg --batch --verify rocketmq.zip.asc rocketmq.zip ; \
@@ -76,7 +73,7 @@
  && chmod a+x ${ROCKETMQ_HOME}/bin/mqnamesrv
 
 # expose broker ports
-EXPOSE 10909 10911
+EXPOSE 10909 10911 10912
 
 # add customized scripts for broker
 RUN mv ${ROCKETMQ_HOME}/bin/runbroker-customize.sh ${ROCKETMQ_HOME}/bin/runbroker.sh \
diff --git a/image-build/scripts/runbroker-customize.sh b/image-build/scripts/runbroker-customize.sh
index 8afa1ed..cf82645 100755
--- a/image-build/scripts/runbroker-customize.sh
+++ b/image-build/scripts/runbroker-customize.sh
@@ -24,6 +24,20 @@
     exit 1
 }
 
+find_java_home()
+{
+    case "`uname`" in
+        Darwin)
+            JAVA_HOME=$(/usr/libexec/java_home)
+        ;;
+        *)
+            JAVA_HOME=$(dirname $(dirname $(readlink -f $(which javac))))
+        ;;
+    esac
+}
+
+find_java_home
+
 [ ! -e "$JAVA_HOME/bin/java" ] && JAVA_HOME=$HOME/jdk/java
 [ ! -e "$JAVA_HOME/bin/java" ] && JAVA_HOME=/usr/java
 [ ! -e "$JAVA_HOME/bin/java" ] && error_exit "Please set the JAVA_HOME variable in your environment, We need java(x64)!"
diff --git a/image-build/scripts/runserver-customize.sh b/image-build/scripts/runserver-customize.sh
index dd25b1a..7135b6b 100755
--- a/image-build/scripts/runserver-customize.sh
+++ b/image-build/scripts/runserver-customize.sh
@@ -24,6 +24,20 @@
     exit 1
 }
 
+find_java_home()
+{
+    case "`uname`" in
+        Darwin)
+            JAVA_HOME=$(/usr/libexec/java_home)
+        ;;
+        *)
+            JAVA_HOME=$(dirname $(dirname $(readlink -f $(which javac))))
+        ;;
+    esac
+}
+
+find_java_home
+
 [ ! -e "$JAVA_HOME/bin/java" ] && JAVA_HOME=$HOME/jdk/java
 [ ! -e "$JAVA_HOME/bin/java" ] && JAVA_HOME=/usr/java
 [ ! -e "$JAVA_HOME/bin/java" ] && error_exit "Please set the JAVA_HOME variable in your environment, We need java(x64)!"
diff --git a/product/start-ns.sh b/product/start-ns.sh
index baa61f2..5d33ca2 100644
--- a/product/start-ns.sh
+++ b/product/start-ns.sh
@@ -33,5 +33,5 @@
 docker run -d -v ${DATA_HOME}/logs:/home/rocketmq/logs \
   --name rmqnamesrv \
   -p 9876:9876 \
-  rocketmqinc/rocketmq:ROCKETMQ_VERSION \
+  rocketmqinc/rocketmq:${ROCKETMQ_VERSION} \
   sh mqnamesrv
\ No newline at end of file