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/fproxy/pom.xml | 112 +++++++++++++++--------- sidecar/fproxy/src/main/assembly/descriptor.xml | 29 ++++++ sidecar/fproxy/src/main/docker/Dockerfile | 31 +++---- 3 files changed, 113 insertions(+), 59 deletions(-) create mode 100644 sidecar/fproxy/src/main/assembly/descriptor.xml (limited to 'sidecar/fproxy') diff --git a/sidecar/fproxy/pom.xml b/sidecar/fproxy/pom.xml index 8875dd8..a84ee98 100644 --- a/sidecar/fproxy/pom.xml +++ b/sidecar/fproxy/pom.xml @@ -27,6 +27,10 @@ 2.1.14-SNAPSHOT + + ${project.build.directory}/${project.artifactId}-build/ + + fproxy jar @@ -116,50 +120,78 @@ false 1 + -Xmx1024m -XX:MaxPermSize=256m - org.apache.maven.plugins - maven-resources-plugin - 3.0.2 - - - copy-docker-file - package - - copy-resources - - - target - true - - - ${basedir}/src/main/docker - true - - - ${basedir}/src/main/bin/ - true - - - - - - + maven-assembly-plugin + + + src/main/assembly/descriptor.xml + + + + + make-assembly + package + + single + + + + - com.spotify - docker-maven-plugin - 0.4.11 - - true - docker-hub - ${docker.push.registry}/onap/${project.artifactId} - ${docker.location} - - latest - - true - + io.fabric8 + docker-maven-plugin + 0.28.0 + + true + ${docker.apiVersion} + ${docker.pull.registry} + ${docker.push.registry} + docker-hub + ${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/fproxy/src/main/assembly/descriptor.xml b/sidecar/fproxy/src/main/assembly/descriptor.xml new file mode 100644 index 0000000..eb645f2 --- /dev/null +++ b/sidecar/fproxy/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/fproxy/src/main/docker/Dockerfile b/sidecar/fproxy/src/main/docker/Dockerfile index d91f0e3..4537e24 100644 --- a/sidecar/fproxy/src/main/docker/Dockerfile +++ b/sidecar/fproxy/src/main/docker/Dockerfile @@ -1,35 +1,28 @@ -FROM ubuntu:14.04 +FROM openjdk:8-alpine ARG MICRO_HOME=/opt/app/fproxy ARG BIN_HOME=$MICRO_HOME/bin ARG JAR_FILE=fproxy-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/fproxy/ . +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 --uid 1001 --ingroup appgroup appuser && \ chown -R appuser:appgroup $MICRO_HOME && \ chmod 777 /logs USER appuser + CMD ["/opt/app/fproxy/bin/start.sh"] -- cgit 1.2.3-korg