Skip to main content

CentOS Dockerfile for Starting Java Jar Applications

You can do it like this:

FROM centos:7

#
# UTF-8 by default
#
ENV LANG='en_US.UTF-8' LANGUAGE='en_US:en' LC_ALL='en_US.UTF-8'

#
# Pull Zulu OpenJDK binaries from official repository:
#

ARG ZULU_REPO_VER=1.0.0-1

RUN rpm --import http://repos.azulsystems.com/RPM-GPG-KEY-azulsystems && \
curl -sLO https://cdn.azul.com/zulu/bin/zulu-repo-${ZULU_REPO_VER}.noarch.rpm && \
rpm -ivh zulu-repo-${ZULU_REPO_VER}.noarch.rpm && \
yum -q -y update && \
yum -q -y upgrade && \
yum -q -y install yum-plugin-versionlock tzdata && \
yum versionlock zulu17-*-17.0.5-* && \
yum -q -y install zulu17-jdk && \
yum clean all && \
rm -rf /var/cache/yum zulu-repo_${ZULU_REPO_VER}.noarch.rpm

ENV JAVA_HOME=/usr/lib/jvm/zulu17

# Copy your jar to the image
COPY demo.jar /usr/local/demo.jar
# Specify container startup program and parameters
ENTRYPOINT java -jar -Xmn128m -Xms256m -Xmx256m /usr/local/demo.jar

Combined from the following sources:

Zulu JDK download page: https://www.azul.com/downloads/?package=jdk On this page you can find the Docker version for installing JDK on CentOS:

The link opens to: https://github.com/zulu-openjdk/zulu-openjdk/blob/master/centos/17-latest/Dockerfile Then combined with Runoob's Dockerfile tutorial to get the above content.