Dockerfiles and build scripts for generating various Docker Images related to OpenJDK. Currently this builds OpenJDK images with hotspot and Eclipse OpenJ9 on Ubuntu and Alpine Linux.
aarch64, ppc64le, s390x and x86_64.ppc64le, s390x and x86_64.Please note you'll need to upgrade bash shell on Mac OS X if you're to use our Docker images on there.
The Dockerfiles and associated scripts found in this project are licensed under the Apache License 2.0..
- latest, ${os}, ${jdk-version}, ${jdk-version}-${os}
- jre, ${os}-jre, ${jre-version}, ${jre-version}-${os}
- slim, ${slim-os}-slim, ${jdk-version}-slim, ${jdk-version}-${slim-os}-slim
- nightly, ${os}-nightly, ${jdk-version}-${os}-nightly
- jre-nightly, ${os}-jre-nightly, ${jre-version}-${os}-nightly
- nightly-slim, ${slim-os}-nightly-slim, ${jdk-version}-${slim-os}-nightly-slim
- latest, ${os}, ${jdk-version}, ${jdk-version}-${os}
- jre, ${os}-jre, ${jre-version}, ${jre-version}-${os}
- nightly, ${os}-nightly, ${jdk-version}-nightly, ${jdk-version}-${os}-nightly
- jre-nightly, ${os}-jre-nightly, ${jre-version}-nightly, ${jre-version}-${os}-nightly
- slim, ${slim-os}-slim, ${jdk-version}-slim, ${jdk-version}-${slim-os}-slim
- nightly-slim, ${slim-os}-nightly-slim, ${jdk-version}-nightly-slim, ${jdk-version}-${slim-os}-nightly-slim
- latest, ${os}, ${jdk-version}, ${jdk-version}-${os}
- slim, ${slim-os}-slim, ${jdk-version}-slim, ${jdk-version}-${slim-os}-slim
- nightly, ${os}-nightly, ${jdk-version}-nightly, ${jdk-version}-${os}-nightly
- nightly-slim, ${slim-os}-nightly-slim, ${jdk-version}-nightly-slim, ${jdk-version}-${slim-os}-nightly-slim
- jre, ${os}-jre, ${jre-version}, ${jre-version}-${os}
- jre-nightly, ${os}-jre-nightly, ${jre-version}-nightly, ${jre-version}-${os}-nightly
Here is a listing of the image sizes for the various build images and types for JDK Version 8
| VMs | latest | slim | nightly | nightly-slim | alpine | alpine-slim | alpine-nightly | alpine-nightly-slim |
|---|---|---|---|---|---|---|---|---|
| OpenJ9 | 339MB | 251MB | 344MB | 250MB | 208MB | 120MB | 213MB | 118MB |
| Hotspot | 324MB | 238MB | 324MB | 238MB | 193MB | 106MB | 193MB | 106MB |
Notes:
# Steps 1-2 needs to be run on all supported arches.
# i.e aarch64, ppc64le, s390x and x86_64.
# 1. Clone this github repo
$ git clone https://github.com/AdoptOpenJDK/openjdk-docker
# 2. Build images and tag them appropriately
$ cd openjdk-docker
$ ./build_all.sh
# Steps 3 needs to be run only on x86_64
# 3. build_all.sh should be run on all supported architectures to build and push images to the
# docker registry. The images should now be available on hub.docker.com but without multi-arch
# support. To add multi-arch support, we need to generate the right manifest lists and push them
# to hub.docker.com. The script generate_manifest_script.sh can be used to
# generate the right manifest commands. This needs to be run only on x86_64 after docker images
# for all architecures have been built and made available on hub.docker.com
$ ./update_manifest_all.sh
# We should now have the proper manifest lists pushed to hub.docker.com to support multi-arch pulls.
To lint generated dockerfiles run ./linter.sh - script will download hadolint binary and check all dockerfiles.
# Run generate_latest_sums.sh to get the shasums for the latest binaries on adoptopenjdk.net
$ ./generate_latest_sums.sh $version
# You should now have two files, hotspot_shasums_latest.sh and openj9_shasums_latest.sh. These will
# have the shasums for the latest version for each of the supported arches for hotspot and
# Eclipse OpenJ9 respectively.
# You can now run update_multiarch.sh to generate the Dockerfiles for all supported arches for both
# hotspot and Eclipse OpenJ9.
$ ./update_multiarch.sh $version
# build_latest.sh will do all of the above and build the docker images for the current arch with the
# right set of tags
Content type
Image
Digest
Size
195.1 MB
Last updated
over 5 years ago
docker pull blueapple/openjdk11-alpine:openjdk11-alpine