Java OpenJDK-JDK and -JRE Docker images based on official images
10K+
This Docker image is managed and kept up to date by epicsoft LLC.
Java OpenJDK-JDK and -JRE Docker images based on official images.
OpenJDK-JDK based on official image Docker in Docker (DinD) and indirectly on Alpine Linux.
This image is intended for building and can be used in a pipeline.
OpenJDK-JRE based on official images Alpine Linux.
This image is for the runtime environment.
jdk jdk25 jdk25.0.3 jdk25-latest jdk-latest
based on Docker DinD indirectly on Alpine with Java JDK 25 - build weekly
jre jre25 jre25.0.3 jre25-latest jre-latest latest
based on Alpine image with Java JRE 25 - build weekly
jdk jdk21 jdk21.0.11 jdk21-latest
based on Docker DinD indirectly on Alpine with Java JDK 21 - build weekly
jre jre21 jre21.0.11 jre21-latest
based on Alpine image with Java JRE 21 - build weekly
jdk17 jdk17.0.19 jdk17-latest
based on Docker DinD indirectly on Alpine with Java JDK 17 - build weekly
jre17 jre17.0.19 jre17-latest
based on Alpine image with Java JRE 17 - build weekly
jdk11 jdk11.0.31 jdk11-latest
based on Docker DinD indirectly on Alpine with Java JDK 11 - build weekly
jre11 jre11.0.31 jre11-latest
based on Alpine image with Java JRE 11 - build weekly
For older versions see subdirectories
Alpine packages are installed in the current image in the latest version - https://pkgs.alpinelinux.org/packages
Build a Java Gradle project in GitLab CI/CD pipeline
.gitlab-ci.yml
stages:
- build
variables:
VERSION: "1.0.0"
exampleProjectBuild:
stage: build
image: epicsoft/openjdk:jdk-latest
services:
- docker:dind
variables:
DOCKER_IMAGE: $CI_REGISTRY:$VERSION
JAVA_JAR_PATH: build/libs
before_script:
- docker login -u gitlab-ci-token -p $CI_JOB_TOKEN $CI_REGISTRY
after_script:
- docker logout $CI_REGISTRY
script:
- ./gradlew build --warning-mode all
- docker build -t $DOCKER_IMAGE . --build-arg JAR_FILE=$JAVA_JAR_PATH/exampleProject-${VERSION}.jar --build-arg VERSION=$VERSION --build-arg BUILD_DATE=$(date -u +'%Y-%m-%dT%H:%M:%SZ')
- docker push $DOCKER_IMAGE
FROM epicsoft/openjdk:jre-latest
ARG VERSION="development"
ARG BUILD_DATE="development"
LABEL org.label-schema.name="exampleProject" \
org.label-schema.description="Example project" \
org.label-schema.version="$VERSION" \
org.label-schema.schema-version="1.0" \
org.label-schema.build-date="$BUILD_DATE"
ENV JAVA_SERVER="-server" \
JAVA_DOCKER="-XX:+UseContainerSupport -XX:MaxRAMPercentage=80" \
JAVA_SECURITY="-Djava.security.egd=file:/dev/./urandom" \
JAVA_ENCODING="-Dfile.encoding=UTF-8" \
JAVA_TIMEZONE="-Duser.timezone=GMT" \
JAVA_ERROR="-XX:+ExitOnOutOfMemoryError" \
JAVA_OPTS=""
ARG JAR_FILE
COPY $JAR_FILE /app.jar
EXPOSE 8080
ENTRYPOINT [ "sh", "-c", "java $JAVA_SERVER $JAVA_DOCKER $JAVA_SECURITY $JAVA_ENCODING $JAVA_TIMEZONE $JAVA_ERROR $JAVA_OPTS -jar /app.jar" ]
MIT License see LICENSE
Please note that the MIT license only applies to the files created by epicsoft LLC. Other software may be licensed under other licenses.
Content type
Image
Digest
sha256:1da5c3d3f…
Size
94.1 MB
Last updated
3 days ago
docker pull epicsoft/openjdk