This is an automated email from the ASF dual-hosted git repository.
clebertsuconic pushed a commit to branch main
in repository https://gitbox.apache.org/repos/asf/activemq-artemis.git
The following commit(s) were added to refs/heads/main by this push:
new 1efb7e87d8 ARTEMIS-4376 add Dockerfile for Alpine + JRE 11
1efb7e87d8 is described below
commit 1efb7e87d84a10c57ded7c406a0c970ffe692898
Author: Justin Bertram <[email protected]>
AuthorDate: Thu Jul 27 10:16:46 2023 -0500
ARTEMIS-4376 add Dockerfile for Alpine + JRE 11
The goal for this file is to be used in conjunction with the existing
Dockerfile-ubuntu-11-jre when pushing images to
https://hub.docker.com/r/apache/activemq-artemis.
I also updated the documentation.
---
artemis-docker/Dockerfile-alpine-11-jre | 71 +++++++++++++++++++++++++++++++++
artemis-docker/prepare-docker.sh | 14 +++++--
artemis-docker/readme.md | 14 +++++--
3 files changed, 91 insertions(+), 8 deletions(-)
diff --git a/artemis-docker/Dockerfile-alpine-11-jre
b/artemis-docker/Dockerfile-alpine-11-jre
new file mode 100644
index 0000000000..c72799cd5c
--- /dev/null
+++ b/artemis-docker/Dockerfile-alpine-11-jre
@@ -0,0 +1,71 @@
+# 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.
+
+# ActiveMQ Artemis
+
+FROM eclipse-temurin:11-jre-alpine
+LABEL maintainer="Apache ActiveMQ Team"
+
+# add user and group for artemis
+RUN addgroup --gid 1001 --system artemis && adduser --uid 1001 --ingroup
artemis --disabled-password --no-create-home artemis
+
+# alpine doesn't come with bash
+RUN /bin/sh -c "apk update && apk upgrade --no-cache && apk add --no-cache
bash libaio"
+
+# Make sure pipes are considered to determine success, see:
https://github.com/hadolint/hadolint/wiki/DL4006
+SHELL ["/bin/bash", "-o", "pipefail", "-c"]
+WORKDIR /opt
+
+ENV ARTEMIS_USER artemis
+ENV ARTEMIS_PASSWORD artemis
+ENV ANONYMOUS_LOGIN false
+ENV EXTRA_ARGS --http-host 0.0.0.0 --relax-jolokia
+
+USER artemis
+
+ADD . /opt/activemq-artemis
+
+# Web Server
+EXPOSE 8161 \
+# JMX Exporter
+ 9404 \
+# Port for CORE,MQTT,AMQP,HORNETQ,STOMP,OPENWIRE
+ 61616 \
+# Port for HORNETQ,STOMP
+ 5445 \
+# Port for AMQP
+ 5672 \
+# Port for MQTT
+ 1883 \
+#Port for STOMP
+ 61613
+
+USER root
+
+RUN mkdir /var/lib/artemis-instance && chown -R artemis.artemis
/var/lib/artemis-instance
+
+COPY ./docker/docker-run.sh /
+
+USER artemis
+
+# Expose some outstanding folders
+VOLUME ["/var/lib/artemis-instance"]
+WORKDIR /var/lib/artemis-instance
+
+ENTRYPOINT ["/docker-run.sh"]
+CMD ["run"]
+
diff --git a/artemis-docker/prepare-docker.sh b/artemis-docker/prepare-docker.sh
index 9952d95ba6..61e4e6b3d9 100755
--- a/artemis-docker/prepare-docker.sh
+++ b/artemis-docker/prepare-docker.sh
@@ -53,14 +53,20 @@ Well done! Now you can continue with building the Docker
image:
# Go to $ARTEMIS_DIST_DIR
$ cd $ARTEMIS_DIST_DIR
- # For CentOS with full JDK
+ # For CentOS with full JDK 11
$ docker build -f ./docker/Dockerfile-centos7-11 -t artemis-centos .
- # For Ubuntu with full JDK
+ # For Ubuntu with full JDK 11
$ docker build -f ./docker/Dockerfile-ubuntu-11 -t artemis-ubuntu .
- # For Ubuntu with just JRE
- $ docker build -f ./docker/Dockerfile-ubuntu-11-jre -t artemis-ubuntu .
+ # For Ubuntu with just JRE 11
+ $ docker build -f ./docker/Dockerfile-ubuntu-11-jre -t artemis-ubuntu-jre .
+
+ # For Alpine with full JDK 17
+ $ docker build -f ./docker/Dockerfile-alpine-17 -t artemis-alpine .
+
+ # For Alpine with just JRE 11
+ $ docker build -f ./docker/Dockerfile-alpine-11-jre -t artemis-alpine-jre .
# For Ubuntu on Linux ARMv7/ARM64 with full JDK
$ docker buildx build --platform linux/arm64,linux/arm/v7 --push -t
{your-repository}/apache-artemis:2.17.0-SNAPSHOT -f
./docker/Dockerfile-ubuntu-11 .
diff --git a/artemis-docker/readme.md b/artemis-docker/readme.md
index 9a6cc92846..f05bd02990 100644
--- a/artemis-docker/readme.md
+++ b/artemis-docker/readme.md
@@ -38,14 +38,20 @@ Well done! Now you can continue with building the Docker
image:
# Go to
../artemis-distribution/target/apache-artemis-2.17.0-SNAPSHOT-bin/apache-artemis-2.17.0-SNAPSHOT
$ cd
../artemis-distribution/target/apache-artemis-2.17.0-SNAPSHOT-bin/apache-artemis-2.17.0-SNAPSHOT
- # For CentOS with full JDK
+ # For CentOS with full JDK 11
$ docker build -f ./docker/Dockerfile-centos7-11 -t artemis-centos .
- # For Ubuntu with full JDK
+ # For Ubuntu with full JDK 11
$ docker build -f ./docker/Dockerfile-ubuntu-11 -t artemis-ubuntu .
- # For Ubuntu with just JRE
- $ docker build -f ./docker/Dockerfile-ubuntu-11-jre -t artemis-ubuntu .
+ # For Ubuntu with just JRE 11
+ $ docker build -f ./docker/Dockerfile-ubuntu-11-jre -t artemis-ubuntu-jre .
+
+ # For Alpine with full JDK 17
+ $ docker build -f ./docker/Dockerfile-alpine-17 -t artemis-alpine .
+
+ # For Alpine with just JRE 11
+ $ docker build -f ./docker/Dockerfile-alpine-11-jre -t artemis-alpine-jre .
# For Ubuntu on Linux ARMv7/ARM64 with full JDK
$ docker buildx build --platform linux/arm64,linux/arm/v7 --push -t
{your-repository}/apache-artemis:2.17.0-SNAPSHOT -f
./docker/Dockerfile-ubuntu-11 .