Skip to content

Commit ec4c4b4

Browse files
lenosienkeys
authored andcommitted
Multistage container image based on UBI
1 parent 695fb58 commit ec4c4b4

18 files changed

+91
-54
lines changed

Dockerfile

Lines changed: 46 additions & 20 deletions
Original file line numberDiff line numberDiff line change
@@ -1,27 +1,53 @@
1-
FROM fedora:latest
1+
# Arguments for DEV's (comment static FROM and uncomnnet #DEV ones)
2+
ARG UBI_VERSION=9
3+
ARG OPENJDK_VERSION=17
4+
ARG UBI_BUILD_TAG=latest
5+
ARG UBI_RUNTIME_TAG=latest
6+
ARG IMAGE_BUILD=registry.access.redhat.com/ubi${UBI_VERSION}/openjdk-${OPENJDK_VERSION}:${UBI_TAG}
7+
ARG IMAGE_BASE=registry.access.redhat.com/ubi${UBI_VERSION}/openjdk-${OPENJDK_VERSION}-runtime:${UBI_RUNTIME_TAG}
28

3-
WORKDIR /var/lib/cli-java
9+
#DEV FROM $IMAGE_BUILD AS build
10+
FROM registry.access.redhat.com/ubi9/openjdk-17:1.13 AS build
11+
12+
USER root
13+
COPY . /app
14+
WORKDIR /app
15+
16+
ENV MAVEN_OPTS="-XX:+TieredCompilation -XX:TieredStopAtLevel=1 -Dmaven.repo.local=/app/.m2 -Dmaven.artifact.threads=42"
17+
RUN mvn -T 1C package -DskipTests=true --no-transfer-progress
18+
19+
RUN mkdir targets && \
20+
cp cli-qpid-jms/target/cli-qpid-jms-*[0-9].jar targets/cli-qpid.jar && \
21+
cp cli-artemis-jms/target/cli-artemis-jms-*[0-9].jar targets/cli-artemis.jar && \
22+
cp cli-paho-java/target/cli-paho-java-*[0-9].jar targets/cli-paho.jar && \
23+
cp cli-activemq/target/cli-activemq-*[0-9].jar targets/cli-activemq.jar && \
24+
cp cli-protonj2/target/cli-protonj2-*[0-9].jar targets/cli-protonj2.jar && \
25+
echo "package info:("$(ls cli-*/target/cli-*.jar)")" >> VERSION.txt
426

5-
ENV LANG=C.UTF-8
6-
RUN yum install \
7-
-y --setopt=install_weak_deps=0 --setopt=tsflags=nodocs \
8-
java-11-openjdk-headless \
9-
bzip2 unzip xz \
10-
bzr git mercurial openssh-clients subversion procps \
11-
gnupg dirmngr \
12-
ca-certificates curl wget \
13-
&& dnf clean all -y
27+
#DEV FROM $IMAGE_BASE
28+
FROM registry.access.redhat.com/ubi9/openjdk-17-runtime:1.13
1429

15-
RUN mkdir /main
30+
LABEL name="Red Hat Messagign QE - Java CLI Image" \
31+
run="podman run --rm -ti <image_name:tag> /bin/bash cli-*"
1632

17-
COPY cli-qpid-jms/target/cli-qpid-jms-1.2.2-SNAPSHOT-*.jar /main/cli-qpid.jar
18-
COPY cli-activemq/target/cli-activemq-1.2.2-SNAPSHOT-*.jar /main/cli-activemq.jar
19-
COPY cli-artemis-jms/target/cli-artemis-jms-1.2.2-SNAPSHOT-*.jar /main/cli-artemis.jar
20-
COPY cli-paho-java/target/cli-paho-java-1.2.2-SNAPSHOT-*.jar /main/cli-paho.jar
33+
USER root
2134

22-
COPY create_links.sh /main
23-
RUN bash /main/create_links.sh
35+
RUN mkdir /licenses
36+
COPY ./LICENSE /licenses/LICENSE.txt
37+
COPY ./image/bin /usr/local/bin
38+
COPY --from=build /app/targets/ /opt/cli-java
39+
COPY --from=build /app/VERSION.txt /opt/cli-java
2440

41+
RUN chmod 0755 /usr/local/bin/cli-* && \
42+
chmod +x /usr/local/bin/cli-*
43+
44+
RUN mkdir /var/lib/cli-java && \
45+
chown -R 1001:0 /var/lib/cli-java && \
46+
chmod -R g=u /var/lib/cli-java
47+
48+
USER 1001
49+
50+
VOLUME /var/lib/cli-java
51+
WORKDIR /var/lib/cli-java
2552

26-
RUN groupadd cli-java && useradd -d /var/lib/cli-java -ms /bin/bash -g cli-java -G cli-java cli-java
27-
USER cli-java:cli-java
53+
CMD ["/bin/bash"]

create_links.sh

Lines changed: 0 additions & 34 deletions
This file was deleted.

image/bin/cli-activemq-connector

Lines changed: 3 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,3 @@
1+
#!/bin/sh
2+
3+
java ${JAVA_OPTS} ${CLI_ACTIVEMQ_OPTS} -jar /opt/cli-java/cli-activemq.jar connector $@

image/bin/cli-activemq-receiver

Lines changed: 3 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,3 @@
1+
#!/bin/sh
2+
3+
java ${JAVA_OPTS} ${CLI_ACTIVEMQ_OPTS} -jar /opt/cli-java/cli-activemq.jar receiver $@

image/bin/cli-activemq-sender

Lines changed: 3 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,3 @@
1+
#!/bin/sh
2+
3+
java ${JAVA_OPTS} ${CLI_ACTIVEMQ_OPTS} -jar /opt/cli-java/cli-activemq.jar sender $@

image/bin/cli-artemis-connector

Lines changed: 3 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,3 @@
1+
#!/bin/sh
2+
3+
java ${JAVA_OPTS} ${CLI_ARTEMIS_OPTS} -jar /opt/cli-java/cli-artemis.jar connector $@

image/bin/cli-artemis-receiver

Lines changed: 3 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,3 @@
1+
#!/bin/sh
2+
3+
java ${JAVA_OPTS} ${CLI_ARTEMIS_OPTS} -jar /opt/cli-java/cli-artemis.jar receiver $@

image/bin/cli-artemis-sender

Lines changed: 3 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,3 @@
1+
#!/bin/sh
2+
3+
java ${JAVA_OPTS} ${CLI_ARTEMIS_OPTS} -jar /opt/cli-java/cli-artemis.jar sender $@

image/bin/cli-paho-connector

Lines changed: 3 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,3 @@
1+
#!/bin/sh
2+
3+
java ${JAVA_OPTS} ${CLI_PAHO_OPTS} -jar /opt/cli-java/cli-paho.jar connector $@

image/bin/cli-paho-receiver

Lines changed: 3 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,3 @@
1+
#!/bin/sh
2+
3+
java ${JAVA_OPTS} ${CLI_PAHO_OPTS} -jar /opt/cli-java/cli-paho.jar receiver $@

0 commit comments

Comments
 (0)