Linux Java Runtime Environment 99%
COPY --chown=appuser:appuser myapp.jar /app/
:
# Check JAR's required version javap -verbose MyClass.class | grep "major version" # 52 = Java 8, 55 = Java 11, 61 = Java 17, 65 = Java 21 Minimal Dockerfile using Alpine + OpenJDK JRE : linux java runtime environment
openjdk version "17.0.9" 2023-10-17 OpenJDK Runtime Environment (build 17.0.9+9-Debian-1) OpenJDK 64-Bit Server VM (build 17.0.9+9-Debian-1, mixed mode, sharing) # Fedora (dnf) sudo dnf install java-17-openjdk RHEL / CentOS 7+ (yum/dnf) sudo yum install java-17-openjdk Minimal JRE (headless – no GUI dependencies) sudo yum install java-17-openjdk-headless 3.3 Arch Linux / Manjaro sudo pacman -S jre-openjdk 3.4 Alpine Linux (minimal containers) apk add openjdk17-jre 4. Installing from Third-Party Repos (Adoptium / Temurin) Eclipse Adoptium (formerly AdoptOpenJDK) provides up-to-date LTS releases. Using apt (Debian/Ubuntu): # Install prerequisites sudo apt install wget gnupg Import Adoptium GPG key wget -qO - https://packages.adoptium.net/artifactory/api/gpg/key/public | sudo gpg --dearmor | sudo tee /etc/apt/trusted.gpg.d/adoptium.gpg > /dev/null Add repository echo "deb https://packages.adoptium.net/artifactory/deb $(lsb_release -sc) main" | sudo tee /etc/apt/sources.list.d/adoptium.list COPY --chown=appuser:appuser myapp