Hier finden Sie eine Zusammenfassung der Docker-Bibliotheksdokumente (Zitat und Links unten):
Das defacto Bild. Verwenden Sie es, wenn Sie sich nicht sicher sind.
openjdk:<version>-buster
, openjdk:<version>-stretch
undopenjdk:<version>-jessie
buster
, jessie
oder stretch
sind die Suite-Codenamen für Debian- Versionen und geben an, auf welcher Version das Image basiert.
In ähnlicher Weise basiert dieses Image auf Alpine Linux und ist somit ein sehr kleines Basis-Image. Es wird empfohlen, wenn Sie eine möglichst kleine Bildgröße benötigen. Die Einschränkung ist, dass es einige ungewöhnliche Bibliotheken verwendet, aber für die meisten Softwareprogramme kein Problem sein sollte. Überprüfen Sie im Zweifelsfall die offiziellen Dokumente unten.
openjdk:<version>
(ab 12) openjdk:<version>-oracle
undopenjdk:<version>-oraclelinux7
Beginnend mit openjdk:12
dem Standard-Image sowie die -oracle
und -oraclelinux7
-Varianten basieren sie auf dem offiziellen Oracle Linux 7-Image . Die OpenJDK-Binärdateien im Standard-Image sowie die -oracle
und -oraclelinux7
-Varianten werden von Oracle erstellt und stammen aus der OpenJDK-Community .
Dieses Image enthält nur die minimalen Pakete, die zum Ausführen von Java erforderlich sind (und es fehlen beispielsweise viele der Java-Bibliotheken im Zusammenhang mit der Benutzeroberfläche). Sofern Sie nicht in einer Umgebung arbeiten, in der nur das openjdk
Image bereitgestellt wird und Sie über Speicherplatzbeschränkungen verfügen, wird das Standard-Image gegenüber diesem empfohlen.
openjdk:<version>-windowsservercore
Dieses Image basiert auf Windows Server Core ( microsoft/windowsservercore
) .
Vollständige Dokumentation ( Version hier unten , neueste Version hier ):
Bildvarianten
Die openjdk
Bilder gibt es in vielen Varianten, die jeweils für einen bestimmten Anwendungsfall entwickelt wurden.
openjdk:<version>
Dies ist das defacto Bild. Wenn Sie sich nicht sicher sind, was Ihre Bedürfnisse sind, möchten Sie diese wahrscheinlich verwenden. Es kann sowohl als Wegwerfcontainer (Mounten des Quellcodes und Starten des Containers zum Starten der App) als auch als Basis zum Erstellen anderer Bilder verwendet werden.
Einige dieser Tags enthalten möglicherweise Namen wie Jessie oder Stretch. Dies sind die Suite-Codenamen für Debian- Versionen
und geben an, auf welcher Version das Image basiert.
openjdk:<version>-alpine
Dieses Bild basiert auf dem beliebten Alpine Linux - Projekt , in dem alpine
offiziellen Bild . Alpine Linux ist viel kleiner als die meisten Distributionsbasis-Images (~ 5 MB) und führt daher im Allgemeinen zu viel schlankeren Images.
Diese Variante wird dringend empfohlen, wenn die endgültige Bildgröße so klein wie möglich sein soll. Die wichtigste Einschränkung ist, dass musl libc anstelle von glibc und Freunden verwendet wird , sodass bei bestimmter Software je nach Tiefe der libc-Anforderungen Probleme auftreten können. Die meisten Softwareprogramme haben jedoch kein Problem damit, sodass diese Variante normalerweise eine sehr sichere Wahl ist. In diesem Kommentarthread zu Hacker News finden Sie weitere Informationen zu den möglicherweise auftretenden Problemen und einige Pro / Contra-Vergleiche zur Verwendung von Bildern auf Alpenbasis.
Um die Bildgröße zu minimieren, ist es ungewöhnlich, dass zusätzliche verwandte Tools (wie git
oder bash
) in alpinen Bildern enthalten sind. Fügen Sie dieses Image als Basis hinzu und fügen Sie die benötigten Elemente in Ihre eigene Docker-Datei ein ( Beispiele zur Installation von Paketen finden Sie in der alpine
Image-Beschreibung, wenn Sie nicht vertraut sind).
openjdk:<version>-windowsservercore
Dieses Image basiert auf Windows Server Core ( microsoft/windowsservercore
) . Daher funktioniert es nur an Orten, an denen dieses Image funktioniert, z. B. Windows 10 Professional / Enterprise (Anniversary Edition) oder Windows Server 2016.
Informationen zum Ausführen von Docker unter Windows finden Sie in der entsprechenden "Kurzanleitung" von Microsoft:
openjdk:<version>-slim
In diesem Image wird das -headless
OpenJDK-Paket installiert, und es fehlen viele der UI-bezogenen Java-Bibliotheken und einige allgemeine Pakete, die im Standard-Tag enthalten sind. Es enthält nur die minimalen Pakete, die zum Ausführen von Java erforderlich sind. Sofern Sie nicht in einer Umgebung arbeiten, in der
nur das openjdk
Image bereitgestellt wird und Sie über Speicherplatzbeschränkungen verfügen, empfehlen wir dringend, das Standard-Image dieses Repositorys zu verwenden.