За документами бібліотеки докер (цитата та посилання нижче), ось короткий опис:
Образ дефакто. Використовуйте його, якщо не впевнені.
openjdk:<version>-buster
, openjdk:<version>-stretch
іopenjdk:<version>-jessie
buster
, jessie
Або stretch
імена свита коди для випусків Debian і вказати , який реліз образ заснований на.
Аналогічно, це зображення базується на Alpine Linux , таким чином, є дуже маленьким базовим зображенням. Рекомендується, якщо вам потрібно, щоб розмір зображення був якомога меншим. Застереження полягає в тому, що він використовує деякі незвичні вкладки, але це не повинно бути проблемою для більшості програмного забезпечення. У сумніві, перевірте офіційні документи нижче.
openjdk:<version>
(з 12 і далі) openjdk:<version>-oracle
таopenjdk:<version>-oraclelinux7
Починаючи з openjdk:12
зображення за замовчуванням, а також -oracle
і -oraclelinux7
варіантів базується на офіційному зображенні Oracle Linux 7 . Бінарні файли OpenJDK у зображенні за замовчуванням, а також варіанти -oracle
та -oraclelinux7
варіанти будуються Oracle та отримуються з спільноти OpenJDK .
Це зображення містить лише мінімальні пакети, необхідні для запуску Java (наприклад, у багатьох відсутніх бібліотек Java, пов’язаних з інтерфейсом користувача). Якщо ви не працюєте в середовищі , де тількиopenjdk
буде розгорнуто образ і у вас є космічні обмеження, зображення за замовчуванням рекомендується над цим.
openjdk:<version>-windowsservercore
Це зображення засноване на Windows Server Core ( microsoft/windowsservercore
) .
Повні документи ( версія показана нижче тут , остання версія тут ):
Варіанти зображення
Ці openjdk
образи бувають різних смаків, кожен з яких призначений для використання конкретного випадку.
openjdk:<version>
Це образ дефакто. Якщо ви не впевнені у своїх потребах, ви, ймовірно, хочете скористатися цією. Він призначений для використання як контейнера, що викидає (встановіть свій вихідний код і запустіть контейнер, щоб запустити додаток), а також як основу для створення інших зображень.
Деякі з цих тегів можуть мати такі назви, як Джессі, або розтягування в них. Це кодові назви випусків
Debian і вказують, на якому релізі засноване зображення.
openjdk:<version>-alpine
Це зображення засноване на популярному проекті Alpine Linux , доступних в на alpine
офіційному зображенні . Альпійський Linux набагато менший, ніж більшість базових зображень дистрибуції (~ 5 Мб), і, таким чином, призводить до набагато стрункіших зображень в цілому.
Цей варіант настійно рекомендується, коли бажано якнайменший розмір остаточного зображення. Основний застереження, який слід зазначити, це те, що він використовує musl libc замість glibc та друзів , тому певне програмне забезпечення може зіткнутися з проблемами залежно від глибини їхніх вимог до libc. Однак у більшості програмного забезпечення це не виникає, тому такий варіант зазвичай є дуже безпечним вибором. Дивіться цю тему коментарів новин Hacker News для більшого обговорення проблем, які можуть виникнути, а також деякі про / con порівняння використання зображень на альпійській основі.
Щоб мінімізувати розмір зображення, рідко включати додаткові пов'язані інструменти (наприклад, git
або bash
) до зображень на основі альпійської мови. Використовуючи це зображення в якості основи, додайте потрібні речі у свій власний Dockerfile (див. alpine
Опис зображення для прикладів встановлення пакунків, якщо ви не знайомі).
openjdk:<version>-windowsservercore
Це зображення засноване на Windows Server Core ( microsoft/windowsservercore
) . Таким чином, він працює лише в таких місцях, як це зображення, наприклад, Windows 10 Professional / Enterprise (Anniversary Edition) або Windows Server 2016.
Для отримання інформації про те, як запустити Docker під керуванням Windows, перегляньте відповідний посібник "Швидкий старт", наданий Microsoft:
openjdk:<version>-slim
На цьому зображенні встановлено -headless
пакет OpenJDK, і тому не вистачає багатьох бібліотек Java, пов'язаних з інтерфейсом користувача, та деяких загальних пакетів, що містяться в тезі за замовчуванням. Він містить лише мінімальні пакети, необхідні для запуску Java. Якщо ви не працюєте в середовищі , де
тількиopenjdk
буде розгорнуто образ і у вас є космічні обмеження, ми настійно рекомендуємо використовувати зображення за замовчуванням цього сховища.