From 25c0056a7846168dbc5cc86615039ad8d1e9a35d Mon Sep 17 00:00:00 2001 From: Simon Hrabos Date: Fri, 20 Sep 2019 15:19:24 +0200 Subject: small, multi-platform (amd64, arm64) images Modify fproxy, rproxy and tproxy-config docker container image due to arm64 compatibility Issue-ID: INT-1174 Issue-ID: INT-1175 Issue-ID: INT-1176 Signed-off-by: Simon Hrabos Change-Id: Ibbf9e1d15bea9ebb1b82ff50c8671927c68be2ed --- sidecar/rproxy/pom.xml | 76 ++++++++++++++++++------- sidecar/rproxy/src/main/assembly/descriptor.xml | 29 ++++++++++ sidecar/rproxy/src/main/docker/Dockerfile | 30 ++++------ 3 files changed, 94 insertions(+), 41 deletions(-) create mode 100644 sidecar/rproxy/src/main/assembly/descriptor.xml (limited to 'sidecar/rproxy') diff --git a/sidecar/rproxy/pom.xml b/sidecar/rproxy/pom.xml index e789287..8e4ac38 100644 --- a/sidecar/rproxy/pom.xml +++ b/sidecar/rproxy/pom.xml @@ -27,6 +27,10 @@ 2.1.14-SNAPSHOT + + ${project.build.directory}/${project.artifactId}-build/ + + rproxy jar @@ -128,50 +132,78 @@ false 1 + -Xmx1024m -XX:MaxPermSize=256m - org.apache.maven.plugins - maven-resources-plugin - 3.0.2 + maven-assembly-plugin + + + src/main/assembly/descriptor.xml + + - copy-docker-file + make-assembly package - copy-resources + single - - target - true - - - ${basedir}/src/main/docker - true - - - ${basedir}/src/main/bin/ - true - - - - com.spotify + io.fabric8 docker-maven-plugin - 0.4.11 + 0.28.0 true + ${docker.apiVersion} + ${docker.pull.registry} + ${docker.push.registry} docker-hub - ${docker.push.registry}/onap/${project.artifactId} ${docker.location} latest true + + + ${docker.push.registry}/onap/${project.artifactId} + + try + ${project.basedir}/src/main/docker + + latest + + + + + + ${fproxy.build.dir} + /${project.artifactId} + + + + + + + + + + generate-images + install + + + + push-images + deploy + + push + + + org.apache.maven.plugins diff --git a/sidecar/rproxy/src/main/assembly/descriptor.xml b/sidecar/rproxy/src/main/assembly/descriptor.xml new file mode 100644 index 0000000..16b21de --- /dev/null +++ b/sidecar/rproxy/src/main/assembly/descriptor.xml @@ -0,0 +1,29 @@ + + build + false + + dir + + + + ${project.basedir}/src/main/bin + /bin + + **/* + + + + ${project.build.directory} + / + + *.jar + + + Dockerfile + *.sh + + + + diff --git a/sidecar/rproxy/src/main/docker/Dockerfile b/sidecar/rproxy/src/main/docker/Dockerfile index 56b32fa..6311e9e 100644 --- a/sidecar/rproxy/src/main/docker/Dockerfile +++ b/sidecar/rproxy/src/main/docker/Dockerfile @@ -1,34 +1,26 @@ -FROM ubuntu:14.04 +FROM openjdk:8-alpine ARG MICRO_HOME=/opt/app/rproxy ARG BIN_HOME=$MICRO_HOME/bin ARG JAR_FILE=rproxy-exec.jar -RUN apt-get update - -# Install and setup java8 -RUN apt-get update && apt-get install -y software-properties-common -## sudo -E is required to preserve the environment. If you remove that line, it will most like freeze at this step -RUN sudo -E add-apt-repository ppa:openjdk-r/ppa && apt-get update && apt-get install -y openjdk-8-jdk - -RUN sudo dpkg --purge --force-depends ca-certificates-java -RUN sudo apt-get install ca-certificates-java +RUN apk update && \ + apk add ca-certificates ## Setup JAVA_HOME, this is useful for docker commandline -ENV JAVA_HOME usr/lib/jvm/java-8-openjdk-$(dpkg --print-architecture) +ENV JAVA_HOME usr/lib/jvm/java-1.8-openjdk RUN export JAVA_HOME # Build up the deployment folder structure RUN mkdir -p $MICRO_HOME -COPY ${JAR_FILE} $MICRO_HOME -RUN mkdir -p $BIN_HOME -COPY *.sh $BIN_HOME -RUN chmod 755 $BIN_HOME/* -RUN ln -s /logs $MICRO_HOME/logs -RUN mkdir /logs +WORKDIR $MICRO_HOME +COPY maven/rproxy/ . +RUN chmod 755 $BIN_HOME/* && \ + mkdir /logs && \ + ln -s /logs $MICRO_HOME/logs # Create the appuser -RUN groupadd -r appgroup && \ - useradd -r -u 1001 -g appgroup appuser && \ +RUN addgroup --system appgroup && \ + adduser --system -u 1001 -g appgroup appuser && \ chown -R appuser:appgroup $MICRO_HOME && \ chmod 777 /logs USER appuser -- cgit 1.2.3-korg