You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@streampipes.apache.org by ri...@apache.org on 2022/11/19 20:27:41 UTC

[streampipes] branch dev updated: Provide RocketMQ 5.0.0 Dockerfile and docker-compose.yml files

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

riemer pushed a commit to branch dev
in repository https://gitbox.apache.org/repos/asf/streampipes.git


The following commit(s) were added to refs/heads/dev by this push:
     new d511c435c Provide RocketMQ 5.0.0 Dockerfile and docker-compose.yml files
d511c435c is described below

commit d511c435ceb12bff7488f26df5111015a6e1c00f
Author: Xin Wang <be...@163.com>
AuthorDate: Sat Nov 19 16:51:41 2022 +0000

    Provide RocketMQ 5.0.0 Dockerfile and docker-compose.yml files
---
 .../cli/deploy/standalone/rocketmq/Dockerfile      | 76 ++++++++++++++++++++++
 .../standalone/rocketmq/docker-compose.dev.yml     | 19 +++++-
 .../deploy/standalone/rocketmq/docker-compose.yml  | 75 +++++++++++++++++----
 3 files changed, 155 insertions(+), 15 deletions(-)

diff --git a/installer/cli/deploy/standalone/rocketmq/Dockerfile b/installer/cli/deploy/standalone/rocketmq/Dockerfile
new file mode 100644
index 000000000..81b18473e
--- /dev/null
+++ b/installer/cli/deploy/standalone/rocketmq/Dockerfile
@@ -0,0 +1,76 @@
+#
+# 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.
+#
+
+# Dcokerfile for Apache RocketMQ 5.0.0 version
+# Since the latest version 5.0.0 not in the official docker hub. We can build it locally.
+# command: `docker build --tag apache_rocketmq .`
+# Use openjdk not alpine due to the issue: https://github.com/grpc/grpc-java/issues/5369
+
+FROM openjdk:8
+
+ARG user=rocketmq
+ARG group=rocketmq
+ARG uid=3000
+ARG gid=3000
+
+# 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 -u ${uid} -g ${gid} -m -s /bin/bash ${user}
+
+ARG version=5.0.0
+
+# Rocketmq version
+ENV ROCKETMQ_VERSION ${version}
+
+# Rocketmq home
+ENV ROCKETMQ_HOME  /home/rocketmq/rocketmq-${ROCKETMQ_VERSION}
+
+WORKDIR  ${ROCKETMQ_HOME}
+
+# Install
+RUN set -eux; \
+    curl -L https://archive.apache.org/dist/rocketmq/${ROCKETMQ_VERSION}/rocketmq-all-${ROCKETMQ_VERSION}-bin-release.zip -o rocketmq.zip; \
+    curl -L https://archive.apache.org/dist/rocketmq/${ROCKETMQ_VERSION}/rocketmq-all-${ROCKETMQ_VERSION}-bin-release.zip.asc -o rocketmq.zip.asc; \
+	curl -L https://www.apache.org/dist/rocketmq/KEYS -o KEYS; \
+	\
+	gpg --import KEYS; \
+    gpg --batch --verify rocketmq.zip.asc rocketmq.zip; \
+    unzip rocketmq.zip; \
+	mv rocketmq*/* . ; \
+	rmdir rocketmq-* ; \
+	rm rocketmq.zip rocketmq.zip.asc KEYS; \
+    rm -rf /tmp/*
+
+RUN chown -R ${uid}:${gid} ${ROCKETMQ_HOME}
+
+# Expose namesrv port
+EXPOSE 9876
+
+# Expose broker ports
+EXPOSE 10909 10911 10912
+
+# Expose proxy port(grpc service port, the `rocketmq-client-java` endpoint config rely on this port)
+EXPOSE 8081
+
+RUN export JAVA_OPT=" -Duser.home=/home/rocketmq" \
+ && sed -i 's/${JAVA_HOME}\/jre\/lib\/ext/${JAVA_HOME}\/jre\/lib\/ext:${JAVA_HOME}\/lib\/ext/' ${ROCKETMQ_HOME}/bin/tools.sh
+
+USER ${user}
+
+WORKDIR ${ROCKETMQ_HOME}/bin
diff --git a/installer/cli/deploy/standalone/rocketmq/docker-compose.dev.yml b/installer/cli/deploy/standalone/rocketmq/docker-compose.dev.yml
index 49460acc5..f685377b8 100644
--- a/installer/cli/deploy/standalone/rocketmq/docker-compose.dev.yml
+++ b/installer/cli/deploy/standalone/rocketmq/docker-compose.dev.yml
@@ -13,8 +13,21 @@
 # See the License for the specific language governing permissions and
 # limitations under the License.
 
-version: "3.4"
+version: '3.5'
+
+# command: `docker-compose -f docker-compose.yml -f docker-compose.dev.yml up -d `
+
 services:
-  rocketmq:
+  rmqnamesrv:
+    ports:
+      - 9876:9876
+  rmqbroker:
+    ports:
+      - 10911:10911
+    depends_on:
+      - rmqnamesrv
+  rmqproxy:
     ports:
-      - "5672:5672"
+      - 8081:8081
+    depends_on:
+      - rmqnamesrv
\ No newline at end of file
diff --git a/installer/cli/deploy/standalone/rocketmq/docker-compose.yml b/installer/cli/deploy/standalone/rocketmq/docker-compose.yml
index f54f41790..0a5895769 100644
--- a/installer/cli/deploy/standalone/rocketmq/docker-compose.yml
+++ b/installer/cli/deploy/standalone/rocketmq/docker-compose.yml
@@ -13,19 +13,70 @@
 # See the License for the specific language governing permissions and
 # limitations under the License.
 
-version: "3.4"
-services:
-  rocketmq:
-    image: apache/rocketmq
+version: '3.5'
+
+# command: `docker-compose up -d `
 
-    logging:
-      driver: "json-file"
-      options:
-        max-size: "1m"
-        max-file: "1"
+services:
+  rmqnamesrv:
+    image: apache_rocketmq:latest
+    container_name: rmqnamesrv
+    ports:
+      - 9876:9876
+    volumes:
+      - ./rmqs/logs:/home/rocketmq/logs
+      - ./rmqs/store:/home/rocketmq/store
+    environment:
+      JAVA_OPT_EXT: "-Duser.home=/home/rocketmq -Xms512M -Xmx512M -Xmn128m"
+    command: ["sh","mqnamesrv"]
+    networks:
+      rmq:
+        aliases:
+          - rmqnamesrv
+  rmqbroker:
+    image: apache_rocketmq:latest
+    container_name: rmqbroker
+    links:
+      - rmqnamesrv
+    ports:
+      - 10909:10909
+      - 10911:10911
+      - 10912:10912
+    volumes:
+      - ./rmqs/logs:/home/rocketmq/logs
+      - ./rmqs/store:/home/rocketmq/store
+    environment:
+      JAVA_OPT_EXT: "-Duser.home=/home/rocketmq -Xms512M -Xmx512M -Xmn128m"
+      NAMESRV_ADDR: "rmqnamesrv:9876"
+    command: ["sh","mqbroker"]
+    depends_on:
+      - rmqnamesrv
+    networks:
+      rmq:
+        aliases:
+          - rmqbroker
+  rmqproxy:
+    image: apache_rocketmq:latest
+    container_name: rmqproxy
+    links:
+      - rmqnamesrv
+    ports:
+      - 8081:8081
+    volumes:
+      - ./rmqs/logs:/home/rocketmq/logs
+      - ./rmqs/store:/home/rocketmq/store
+    environment:
+      JAVA_OPT_EXT: "-Duser.home=/home/rocketmq -Xms512M -Xmx512M -Xmn128m"
+      NAMESRV_ADDR: "rmqnamesrv:9876"
+    command: ["sh","mqproxy"]
+    depends_on:
+      - rmqbroker
     networks:
-      spnet:
+      rmq:
+        aliases:
+          - rmqproxy
 
 networks:
-  spnet:
-    external: true
+  rmq:
+    name: rmq
+    driver: bridge
\ No newline at end of file