[ISSUE #108] Replace centos base image with ubuntu for centos7 is EOL

diff --git a/README.md b/README.md
index 3fedf18..1c97ce3 100644
--- a/README.md
+++ b/README.md
@@ -36,7 +36,7 @@
 sh build-image.sh RMQ-VERSION BASE-IMAGE
 ```
 
-> Tip: The supported RMQ-VERSIONs can be obtained from [here](https://archive.apache.org/dist/rocketmq/). The supported BASE-IMAGEs are [centos, alpine]. For example: ```sh build-image.sh 4.5.0 alpine```
+> Tip: The supported RMQ-VERSIONs can be obtained from [here](https://archive.apache.org/dist/rocketmq/). The supported BASE-IMAGEs are [ubuntu, alpine]. For example: ```sh build-image.sh 4.5.0 alpine```
 
 ### B. Stage a specific version
 
@@ -134,7 +134,7 @@
 ./update.sh 
 ```
 
-This script will get the latest release version of RocketMQ and build the docker images based on ```alpine``` and ```centos``` respectively, then push the new images to the current official repository ```apache/rocketmq```.
+This script will get the latest release version of RocketMQ and build the docker images based on ```alpine``` and ```ubuntu``` respectively, then push the new images to the current official repository ```apache/rocketmq```.
 
 ### How to verify RocketMQ works well
 
diff --git a/image-build/Dockerfile-centos b/image-build/Dockerfile-ubuntu
similarity index 84%
rename from image-build/Dockerfile-centos
rename to image-build/Dockerfile-ubuntu
index ecd1f51..7fcb35e 100644
--- a/image-build/Dockerfile-centos
+++ b/image-build/Dockerfile-ubuntu
@@ -19,14 +19,17 @@
 # Build stage 1 `builder`:
 # Download and extract RocketMQ
 ################################################################################
-FROM eclipse-temurin:8-jdk-centos7 AS builder
+FROM eclipse-temurin:8-jdk AS builder
 
 ARG version
 
-RUN set -eux \
-    && yum -y update \
-    && yum -y install curl gnupg unzip \
-    && yum clean all -y
+RUN set -eux; \
+    apt-get update; \
+    DEBIAN_FRONTEND=noninteractive apt-get install -y --no-install-recommends \
+        gnupg2 \
+        unzip \
+    ; \
+    rm -rf /var/lib/apt/lists/*
 
 RUN curl -L https://archive.apache.org/dist/rocketmq/${version}/rocketmq-all-${version}-bin-release.zip -o rocketmq.zip \
     && curl -L https://archive.apache.org/dist/rocketmq/${version}/rocketmq-all-${version}-bin-release.zip.asc -o rocketmq.zip.asc \
@@ -42,7 +45,7 @@
 # Build stage 2:
 # Make the actual RocketMQ docker image
 ################################################################################
-FROM eclipse-temurin:8-jdk-centos7
+FROM eclipse-temurin:8-jdk
 
 ARG user=rocketmq
 ARG group=rocketmq
@@ -52,10 +55,10 @@
 ARG version
 
 # Rocketmq version
-ENV ROCKETMQ_VERSION ${version}
+ENV ROCKETMQ_VERSION=${version}
 
 # Rocketmq home
-ENV ROCKETMQ_HOME  /home/rocketmq/rocketmq-${ROCKETMQ_VERSION}
+ENV ROCKETMQ_HOME=/home/rocketmq/rocketmq-${ROCKETMQ_VERSION}
 
 # expose namesrv port
 EXPOSE 9876
@@ -68,11 +71,14 @@
 # ensure you use the same uid
 RUN groupadd -g ${gid} ${group} \
     && useradd -l -u ${uid} -g ${gid} -m -s /bin/bash ${user} \
-    && yum -y update \
-    && yum -y install less openssl which \
-    && yum clean all -y && rm -rf /var/cache/yum 
-
-
+    && apt-get update; \
+    DEBIAN_FRONTEND=noninteractive apt-get install -y --no-install-recommends \
+        less \
+        openssl \
+        which \
+    \
+    && apt-get clean; \
+    rm -rf /var/lib/apt/lists/*
 
 # Copy customized scripts
 COPY scripts/ ${ROCKETMQ_HOME}/bin/
diff --git a/image-build/build-image.sh b/image-build/build-image.sh
index 3fcbd5b..57cac71 100755
--- a/image-build/build-image.sh
+++ b/image-build/build-image.sh
@@ -41,11 +41,11 @@
     alpine)
         docker build --no-cache -f Dockerfile-alpine -t apache/rocketmq:${ROCKETMQ_VERSION}-alpine --build-arg version=${ROCKETMQ_VERSION} .
     ;;
-    centos)
-        docker build --no-cache -f Dockerfile-centos -t apache/rocketmq:${ROCKETMQ_VERSION} --build-arg version=${ROCKETMQ_VERSION} .
+    ubuntu)
+        docker build --no-cache -f Dockerfile-ubuntu -t apache/rocketmq:${ROCKETMQ_VERSION} --build-arg version=${ROCKETMQ_VERSION} .
     ;;
     *)
-        echo "${BASE_IMAGE} is not supported, supported base images: centos, alpine"
+        echo "${BASE_IMAGE} is not supported, supported base images: ubuntu, alpine"
         exit -1
     ;;
 esac
diff --git a/image-build/update.sh b/image-build/update.sh
index 1f9d5d3..c96ea52 100755
--- a/image-build/update.sh
+++ b/image-build/update.sh
@@ -34,13 +34,13 @@
 
 checkVersion ${LATEST_VERSION}
 
-baseImages=("alpine" "centos")
+baseImages=("alpine" "ubuntu")
 
 for baseImage in ${baseImages[@]}
 do
     echo "Building image of version ${LATEST_VERSION}, base-image ${baseImage}"
     bash build-image.sh ${LATEST_VERSION} ${baseImage}
-    if [ "${baseImage}" = "centos" ];then
+    if [ "${baseImage}" = "ubuntu" ];then
         TAG=${LATEST_VERSION}
     else
         TAG=${LATEST_VERSION}-${baseImage}
diff --git a/product/README.md b/product/README.md
index fe28d3c..4a00215 100644
--- a/product/README.md
+++ b/product/README.md
@@ -35,7 +35,7 @@
 
 Note: You can skip this step if you use an existing nameserver cluster
 
-1. Confirm the host machine where the nameserver is to be deployed and copy the product directory into the host. Determine the directory (DATA_HOME) where the container persistences content (logs/storage) on the host,  as well as the RocketMQ image version (ROCKETMQ_VERSION) and base image alpine or centos (BASE_IMAGE)
+1. Confirm the host machine where the nameserver is to be deployed and copy the product directory into the host. Determine the directory (DATA_HOME) where the container persistences content (logs/storage) on the host,  as well as the RocketMQ image version (ROCKETMQ_VERSION) and base image alpine or ubuntu (BASE_IMAGE)
 
 2. Run the script start-ns.sh, for example:
 
diff --git a/product/start-broker.sh b/product/start-broker.sh
index 379f866..51e395a 100644
--- a/product/start-broker.sh
+++ b/product/start-broker.sh
@@ -57,11 +57,11 @@
     alpine)
         start_broker -alpine
     ;;
-    centos)
+    ubuntu|centos)
         start_broker
     ;;
     *)
-        echo "${BASE_IMAGE} is not supported, supported base images: centos, alpine"
+        echo "${BASE_IMAGE} is not supported, supported base images: ubuntu, alpine, centos (deprecated)"
         exit -1
     ;;
 esac
\ No newline at end of file
diff --git a/product/start-ns.sh b/product/start-ns.sh
index 8576058..79f7e56 100644
--- a/product/start-ns.sh
+++ b/product/start-ns.sh
@@ -45,11 +45,11 @@
     alpine)
         start_namesrv -alpine
     ;;
-    centos)
+    ubuntu|centos)
         start_namesrv
     ;;
     *)
-        echo "${BASE_IMAGE} is not supported, supported base images: centos, alpine"
+        echo "${BASE_IMAGE} is not supported, supported base images: ubuntu, alpine, centos (deprecated)"
         exit -1
     ;;
 esac
\ No newline at end of file
diff --git a/templates/play-docker.sh b/templates/play-docker.sh
index 37968f8..f42fd29 100755
--- a/templates/play-docker.sh
+++ b/templates/play-docker.sh
@@ -62,11 +62,11 @@
     alpine)
         start_namesrv_broker -alpine
     ;;
-    centos)
+    ubuntu|centos)
         start_namesrv_broker
     ;;
     *)
-        echo "${BASE_IMAGE} is not supported, supported base images: centos, alpine"
+        echo "${BASE_IMAGE} is not supported, supported base images: ubuntu, alpine, centos (deprecated)"
         exit -1
     ;;
 esac