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