1+ # Licensed to the Apache Software Foundation (ASF) under one
2+ # or more contributor license agreements. See the NOTICE file
3+ # distributed with this work for additional information
4+ # regarding copyright ownership. The ASF licenses this file
5+ # to you under the Apache License, Version 2.0 (the
6+ # "License"); you may not use this file except in compliance
7+ # with the License. You may obtain a copy of the License at
8+ #
9+ # http://www.apache.org/licenses/LICENSE-2.0
10+ #
11+ # Unless required by applicable law or agreed to in writing,
12+ # software distributed under the License is distributed on an
13+ # "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
14+ # KIND, either express or implied. See the License for the
15+ # specific language governing permissions and limitations
16+ # under the License.
17+
18+ # ActiveMQ Artemis
19+
20+ ARG CURRENT_VERSION=2.17.0
21+
22+ FROM eclipse-temurin:11-jdk as builder
23+ ARG CURRENT_VERSION
24+
25+ ENV VERSION=$CURRENT_VERSION
26+
27+ RUN apt update -y && apt upgrade -y && apt install tree curl -y
28+
29+ ADD ./prepare-docker.sh /bin/prepareDocker
30+ WORKDIR /root/artemis-build
31+ COPY ./Dockerfile-alpine .
32+ COPY ./docker-run.sh .
33+ RUN prepareDocker --from-release --artemis-version ${VERSION}
34+
35+
36+ FROM alpine:latest
37+
38+ ARG CURRENT_VERSION
39+
40+ ENV VERSION=$CURRENT_VERSION
41+
42+ RUN apk --no-cache add openjdk17-jre-headless bash libaio\
43+ --repository=http://dl-cdn.alpinelinux.org/alpine/edge/community
44+
45+
46+ LABEL maintainer="Apache ActiveMQ Team"
47+ # Make sure pipes are considered to determine success, see: https://github.com/hadolint/hadolint/wiki/DL4006
48+ SHELL ["/bin/bash", "-o", "pipefail", "-c"]
49+ WORKDIR /opt
50+
51+ ENV ARTEMIS_USER artemis
52+ ENV ARTEMIS_PASSWORD artemis
53+ ENV ANONYMOUS_LOGIN false
54+ ENV EXTRA_ARGS --http-host 0.0.0.0 --relax-jolokia
55+
56+ # add user and group for artemis
57+ RUN addgroup -g 1001 artemis && adduser -u 1002 --ingroup artemis --disabled-password artemis
58+
59+ USER artemis
60+
61+ COPY --from=builder /root/artemis-build/_TMP_/artemis/${VERSION}/ /opt/activemq-artemis
62+
63+ # Web Server
64+ EXPOSE 8161 \
65+ # JMX Exporter
66+ 9404 \
67+ # Port for CORE,MQTT,AMQP,HORNETQ,STOMP,OPENWIRE
68+ 61616 \
69+ # Port for HORNETQ,STOMP
70+ 5445 \
71+ # Port for AMQP
72+ 5672 \
73+ # Port for MQTT
74+ 1883 \
75+ #Port for STOMP
76+ 61613
77+
78+ USER root
79+
80+ RUN mkdir /var/lib/artemis-instance && chown -R artemis.artemis /var/lib/artemis-instance
81+
82+ COPY --from=builder /root/artemis-build/_TMP_/artemis/${VERSION}/docker/docker-run.sh /
83+
84+ USER artemis
85+
86+ # Expose some outstanding folders
87+ VOLUME ["/var/lib/artemis-instance"]
88+ WORKDIR /var/lib/artemis-instance
89+
90+ ENTRYPOINT ["/docker-run.sh"]
91+ CMD ["run"]
0 commit comments