web-dev-qa-db-de.com

So installieren Sie eine bestimmte Version von Java 8 mit Dockerfile

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.

7
Marco

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:

  • holen Sie sich das Archiv mit wget,
  • entpacken Sie es mit tar -xz,
  • verwenden Sie update-alternatives zum Festlegen als Standard
8
meskobalazs

Eine 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.

0
Mark O'Connor

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
0
Anand Prakash