Oto podsumowanie dla dokumentów biblioteki docker (cytat i linki poniżej):
Obraz defacto. Użyj go, jeśli nie masz pewności.
openjdk:<version>-buster
, openjdk:<version>-stretch
iopenjdk:<version>-jessie
buster
, jessie
lub stretch
są nazwami kodowymi pakietów dla wydań Debiana i wskazują, na którym wydaniu jest oparty obraz.
Podobnie, ten obraz jest oparty na systemie Alpine Linux , a zatem jest bardzo małym obrazem podstawowym. Zaleca się, jeśli potrzebujesz, aby rozmiar obrazu był jak najmniejszy. Zastrzeżeniem jest to, że używa niektórych nietypowych bibliotek, ale nie powinno stanowić problemu dla większości programów. W razie wątpliwości sprawdź oficjalne dokumenty poniżej.
openjdk:<version>
(od 12 roku) openjdk:<version>-oracle
iopenjdk:<version>-oraclelinux7
Począwszy openjdk:12
od domyślnego obrazu, a także warianty -oracle
i -oraclelinux7
są oparte na oficjalnym obrazie Oracle Linux 7 . Pliki binarne OpenJDK w domyślnym obrazie, jak również warianty -oracle
i -oraclelinux7
są tworzone przez Oracle i pochodzą od społeczności OpenJDK .
Ten obraz zawiera tylko minimalne pakiety potrzebne do uruchomienia języka Java (i brakuje na przykład wielu bibliotek Java związanych z interfejsem użytkownika). Chyba że pracuje w środowisku, w którym tylkoopenjdk
obraz zostanie wdrożony i masz ograniczoną przestrzeń, domyślny obraz jest zalecany przez ten jeden.
openjdk:<version>-windowsservercore
Ten obraz jest oparty na systemie Windows Server Core ( microsoft/windowsservercore
) .
Pełna dokumentacja ( wersja pokazana poniżej , najnowsza wersja tutaj ):
Warianty obrazu
Te openjdk
obrazy są w wielu smakach, każdy przeznaczony dla przypadku szczególnego zastosowania.
openjdk:<version>
To jest obraz defacto. Jeśli nie masz pewności, jakie są Twoje potrzeby, prawdopodobnie zechcesz skorzystać z tego. Jest przeznaczony do użycia zarówno jako kontener do wyrzucenia (zamontuj kod źródłowy i uruchom kontener, aby uruchomić aplikację), a także jako baza do tworzenia innych obrazów.
Niektóre z tych tagów mogą mieć nazwy takie jak jessie lub stretch. Są to nazwy kodowe pakietów dla wydań
Debiana i wskazują, na którym wydaniu jest oparty obraz.
openjdk:<version>-alpine
Ten obraz jest oparty na popularnym projekcie Alpine Linux , dostępnym na alpine
oficjalnym obrazie . Alpine Linux jest znacznie mniejszy niż większość obrazów podstawowych dystrybucji (~ 5 MB), a zatem ogólnie prowadzi do znacznie cieńszych obrazów.
Ten wariant jest wysoce zalecany, gdy pożądany jest jak najmniejszy rozmiar obrazu końcowego. Głównym zastrzeżeniem, na które należy zwrócić uwagę, jest to, że używa on musl libc zamiast glibc i friends , więc niektóre programy mogą napotkać problemy w zależności od głębokości ich wymagań dotyczących libc. Jednak większość programów nie ma z tym problemu, więc ten wariant jest zwykle bardzo bezpiecznym wyborem. Zobacz ten wątek z komentarzami Hacker News, aby uzyskać więcej dyskusji na temat problemów, które mogą się pojawić, i kilka porównań za / przeciw używania obrazów z Alpine.
Aby zminimalizować rozmiar obrazu, rzadko zdarza się, aby dodatkowe powiązane narzędzia (takie jak git
lub bash
) były dołączane do obrazów opartych na Alpine. Używając tego obrazu jako podstawy, dodaj potrzebne rzeczy do własnego pliku Dockerfile (zobacz alpine
opis obrazu, aby zapoznać się z przykładami instalowania pakietów, jeśli nie jesteś zaznajomiony).
openjdk:<version>-windowsservercore
Ten obraz jest oparty na systemie Windows Server Core ( microsoft/windowsservercore
) . W związku z tym działa tylko w miejscach, w których działa ten obraz, takich jak Windows 10 Professional / Enterprise (Anniversary Edition) lub Windows Server 2016.
Aby uzyskać informacje o tym, jak uruchomić platformę Docker w systemie Windows, zapoznaj się z odpowiednim przewodnikiem „Szybki start” dostarczonym przez firmę Microsoft:
openjdk:<version>-slim
Ten obraz instaluje -headless
pakiet OpenJDK, w związku z czym brakuje wielu bibliotek Java związanych z interfejsem użytkownika oraz niektórych typowych pakietów zawartych w znaczniku domyślnym. Zawiera tylko minimalne pakiety potrzebne do uruchomienia Javy. Chyba że pracuje w środowisku, w którym
tylkoopenjdk
obraz zostanie wdrożony i masz ograniczoną przestrzeń, zalecamy przy użyciu domyślnego obrazu tego repozytorium.