This is an automated email from the ASF dual-hosted git repository.

scarb pushed a commit to branch master
in repository https://gitbox.apache.org/repos/asf/rocketmq-docker.git

commit 2832c684989413babfec803a43183aa7aba82699
Author: Scarb <[email protected]>
AuthorDate: Sun Apr 7 16:26:25 2024 +0800

    hw wlcb
---
 image-build/Dockerfile-centos-local | 107 ++++++++++++++++++++++++++++++++++++
 image-build/build-image.sh          |   2 +
 2 files changed, 109 insertions(+)

diff --git a/image-build/Dockerfile-centos-local 
b/image-build/Dockerfile-centos-local
new file mode 100644
index 0000000..ec9e5af
--- /dev/null
+++ b/image-build/Dockerfile-centos-local
@@ -0,0 +1,107 @@
+
+# Licensed to the Apache Software Foundation (ASF) under one or more
+# contributor license agreements.  See the NOTICE file distributed with
+# this work for additional information regarding copyright ownership.
+# The ASF licenses this file to You under the Apache License, Version 2.0
+# (the "License"); you may not use this file except in compliance with
+# the License.  You may obtain a copy of the License at
+#
+#      http://www.apache.org/licenses/LICENSE-2.0
+#
+# Unless required by applicable law or agreed to in writing, software
+# distributed under the License is distributed on an "AS IS" BASIS,
+# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+# See the License for the specific language governing permissions and
+# limitations under the License.
+#
+
+################################################################################
+# Build stage 1 `builder`:
+# Download and extract RocketMQ
+################################################################################
+FROM eclipse-temurin:8-jdk-centos7 AS builder
+
+ARG version
+
+RUN echo 'nameserver 10.129.54.130' >> /etc/resolv.conf
+RUN echo 'nameserver 10.72.55.82' >> /etc/resolv.conf
+RUN echo '7.223.219.58 mirrors.tools.huawei.com' >> /etc/hosts
+RUN cat /etc/hosts
+RUN wget -O /etc/yum.repos.d/CentOS-Base.repo 
https://mirrors.tools.huawei.com/repository/conf/CentOS-7-anon.repo 
--no-check-certificate
+RUN echo 'sslverify=0' >> /etc/yum.conf
+
+RUN set -eux \
+    && yum -y update \
+    && yum -y install curl gnupg unzip \
+    && yum clean all -y
+
+COPY rocketmq.zip .
+
+RUN unzip rocketmq.zip \
+    && mkdir -p /tmp/rocketmq-${version} \
+        && mv rocketmq*/* /tmp/rocketmq-${version}
+
+################################################################################
+# Build stage 2:
+# Make the actual RocketMQ docker image
+################################################################################
+FROM eclipse-temurin:8-jdk-centos7
+
+RUN echo >> '7.223.219.58 mirrors.tools.huawei.com' >> /etc/hosts
+RUN wget -O /etc/yum.repos.d/CentOS-Base.repo 
https://mirrors.tools.huawei.com/repository/conf/CentOS-7-anon.repo 
--no-check-certificate
+RUN echo 'sslverify=0' >> /etc/yum.conf
+
+ARG user=rocketmq
+ARG group=rocketmq
+ARG uid=3000
+ARG gid=3000
+
+ARG version
+
+# Rocketmq version
+ENV ROCKETMQ_VERSION ${version}
+
+# Rocketmq home
+ENV ROCKETMQ_HOME  /home/rocketmq/rocketmq-${ROCKETMQ_VERSION}
+
+# expose namesrv port
+EXPOSE 9876
+
+# expose broker ports
+EXPOSE 10909 10911 10912
+
+# RocketMQ is run with user `rocketmq`, uid = 3000
+# If you bind mount a volume from the host or a data container,
+# 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
+
+
+
+# Copy customized scripts
+COPY scripts/ ${ROCKETMQ_HOME}/bin/
+
+# Copy RocketMQ artifact from builder
+COPY --from=builder --chown=${uid}:${gid} /tmp/rocketmq-${version}/ 
${ROCKETMQ_HOME}
+
+# Override customized scripts for namesrv
+# Override customized scripts for broker
+# Export Java options
+# Add ${JAVA_HOME}/lib/ext as java.ext.dirs
+RUN mv ${ROCKETMQ_HOME}/bin/runserver-customize.sh 
${ROCKETMQ_HOME}/bin/runserver.sh \
+ && mv ${ROCKETMQ_HOME}/bin/runbroker-customize.sh 
${ROCKETMQ_HOME}/bin/runbroker.sh \
+ && chmod -R a+x ${ROCKETMQ_HOME}/bin/ \
+ && export JAVA_OPT=" -Duser.home=/opt" \
+ && sed -i 
's/${JAVA_HOME}\/jre\/lib\/ext/${JAVA_HOME}\/jre\/lib\/ext:${JAVA_HOME}\/lib\/ext/'
 ${ROCKETMQ_HOME}/bin/tools.sh \
+ && chown -R ${uid}:${gid} ${ROCKETMQ_HOME}
+
+USER ${user}
+
+WORKDIR ${ROCKETMQ_HOME}/bin
+
+ENTRYPOINT ["./docker-entrypoint.sh"]
+# Dummy overridable parameter parsed by entrypoint
+CMD ["dummy"]
\ No newline at end of file
diff --git a/image-build/build-image.sh b/image-build/build-image.sh
index 3fcbd5b..8d4e082 100755
--- a/image-build/build-image.sh
+++ b/image-build/build-image.sh
@@ -44,6 +44,8 @@ case "${BASE_IMAGE}" in
     centos)
         docker build --no-cache -f Dockerfile-centos -t 
apache/rocketmq:${ROCKETMQ_VERSION} --build-arg version=${ROCKETMQ_VERSION} .
     ;;
+    centos-local)
+        docker build --no-cache -f Dockerfile-local -t 
apache/rocketmq:${ROCKETMQ_VERSION}-local --add-host 
mirrors.tools.huawei.com:7.223.219.58 --build-arg version=${ROCKETMQ_VERSION} . 
   ;;
     *)
         echo "${BASE_IMAGE} is not supported, supported base images: centos, 
alpine"
         exit -1

Reply via email to