credimi-challenge-permutations/Dockerfile

64 lines
1.3 KiB
Docker

# Image to build the application
FROM ubuntu:bionic
RUN \
# Create builder user
groupadd builder && \
useradd builder -s /bin/bash -m -g builder -G sudo && \
echo 'builder:builder' |chpasswd && \
mkdir /home/builder/app && \
apt-get update && \
# Install utilities
apt-get install -y \
wget \
curl \
vim \
git \
zip \
bzip2 \
python \
build-essential \
software-properties-common \
sudo && \
# install OpenJDK 11
add-apt-repository ppa:openjdk-r/ppa && \
apt-get update && \
apt-get install -y openjdk-11-jdk && \
update-java-alternatives -s java-1.11.0-openjdk-amd64 && \
# Install Maven
apt-get install -y maven && \
# cleanup
apt-get clean && \
rm -rf \
/var/lib/apt/lists/* \
/tmp/* \
/var/tmp/*
RUN \
# fix builder user permissions
chown -R builder:builder \
/home/builder && \
# cleanup
rm -rf \
/home/builder/.cache/ \
/var/lib/apt/lists/* \
/tmp/* \
/var/tmp/*
USER builder
WORKDIR "/home/builder/app"
# Copy sources
COPY . /home/builder/app/
# Compile project
RUN mvn package
# Image to run the application
FROM openjdk:11.0.11-jre-slim
COPY --from=0 /home/builder/app/target/permutations.jar /app/permutations.jar
ENTRYPOINT ["java", "-jar", "/app/permutations.jar"]