Ich versuche, einen Docker-Container (mit einer Docker-Datei) mit einer bestimmten Version von Java 8 zu erstellen. Viele Beispiele zielen auf die neueste Version ab.
RUN add-apt-repository -y ppa:webupd8team/Java
RUN apt-get update -y
RUN echo Oracle-Java8-installer shared/accepted-Oracle-license-v1-1 select true | Sudo /usr/bin/debconf-set-selections
RUN apt-get install -y Oracle-Java8-installer
Ich habe ein Bedürfnis, wo ich die spezifische Version von Java steuern möchte, die mein Container bereitstellt. Gibt es einen Hinweis, wie das zu erreichen ist? Zum Beispiel Java 8 Update 31.
Da die meisten PPA-Pakete die neueste stabile Version enthalten, würde ich empfehlen, Java manuell von Oracle zu installieren, genau wie in dieser Antwort .
Sie können die gesamte Arbeit auch im Skript erledigen. Die Schritte sind:
wget
,tar -xz
,update-alternatives
zum Festlegen als StandardEine andere Option besteht darin, das offizielle Java-Image aus der Docker Hub-Registrierung zu verwenden
Zwar bietet Oracle das Oracle JDK aus Lizenzgründen nicht an, es ist jedoch die einfachste Möglichkeit, Java in Ihren Docker-Workflow zu integrieren.
Für Docker Container OS: Cent 6.6
Verwenden Sie diesen Befehl in Ihrer Docker-Datei, um Ihre JDK-Version auf 1.8 zu aktualisieren:
RUN touch /var/lib/rpm/* \
&& yum -y install Java-1.8.0-openjdk-devel