Sign inSign up

vziks/monitor-java-image

By vziks

•Updated over 5 years ago

Image
0

1.3K

vziks/monitor-java-image repository overview

⁠How to create a custom Docker image with JDK8, Maven

⁠Instruction
touch Dockerfile
FROM openjdk:8-jdk-alpine
LABEL Anton Prokhorov <[email protected]>
RUN apk add --no-cache curl tar bash procps
# Downloading and installing Maven
# 1- Define a constant with the version of maven you want to install
ARG MAVEN_VERSION=3.6.3

# 2- Define a constant with the working directory
ARG USER_HOME_DIR="/root"

# 3- Define the SHA key to validate the maven download
ARG SHA=b4880fb7a3d81edd190a029440cdf17f308621af68475a4fe976296e71ff4a4b546dd6d8a58aaafba334d309cc11e638c52808a4b0e818fc0fd544226d952544

# 4- Define the URL where maven can be downloaded from
ARG BASE_URL=https://apache.osuosl.org/maven/maven-3/${MAVEN_VERSION}/binaries

# 5- Create the directories, download maven, validate the download, install it, remove downloaded file and set links
RUN mkdir -p /usr/share/maven /usr/share/maven/ref \
  && echo "Downlaoding maven" \
  && curl -fsSL -o /tmp/apache-maven.tar.gz ${BASE_URL}/apache-maven-${MAVEN_VERSION}-bin.tar.gz \
  \
#  && echo "Checking download hash" \
#  && echo "${SHA}  /tmp/apache-maven.tar.gz" | sha512sum -c - \
#  \
  && echo "Unziping maven" \
  && tar -xzf /tmp/apache-maven.tar.gz -C /usr/share/maven --strip-components=1 \
  \
  && echo "Cleaning and setting links" \
  && rm -f /tmp/apache-maven.tar.gz \
  && ln -s /usr/share/maven/bin/mvn /usr/bin/mvn

# 6- Define environmental variables required by Maven, like Maven_Home directory and where the maven repo is located
ENV MAVEN_HOME /usr/share/maven
ENV MAVEN_CONFIG "$USER_HOME_DIR/.m2"


CMD [""]
$ docker image build -t monitor-java-image .
$ docker container run -d -t monitor-java-image bash
$ docker container ps -a
$ docker exec -it <id> bash
$ docker tag monitor-java-image vziks/monitor-java-image
$ docker login
$ docker push vziks/monitor-java-image

Tag summary

Content type

Image

Digest

Size

82.9 MB

Last updated

over 5 years ago

docker pull vziks/monitor-java-image