Для документации библиотеки докеров (цитата и ссылки ниже) вот краткое изложение:
Фактическое изображение. Используйте его, если не уверены.
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>
Это фактическое изображение. Если вы не уверены в своих потребностях, вы, вероятно, захотите использовать этот. Он предназначен для использования как в качестве выбрасываемого контейнера (смонтируйте исходный код и запустите контейнер для запуска приложения), так и в качестве основы для создания других образов.
У некоторых из этих тегов могут быть имена вроде jessie или stretch. Это кодовые названия пакетов для выпусков
Debian, указывающие, на каком выпуске основан образ.
openjdk:<version>-alpine
Это изображение основано на популярном проекте Alpine Linux , доступных в на alpine
официальном изображении . Alpine Linux намного меньше, чем большинство базовых образов дистрибутивов (~ 5 МБ), и поэтому в целом образы намного тоньше.
Этот вариант настоятельно рекомендуется, когда требуется как можно меньший размер конечного изображения. Главное предостережение, которое следует отметить, заключается в том, что он использует musl libc вместо glibc и друзей , поэтому определенное программное обеспечение может столкнуться с проблемами в зависимости от глубины их требований к libc. Однако у большинства программ с этим нет проблем, поэтому этот вариант обычно является очень безопасным выбором. См. Эту ветку комментариев Hacker News для более подробного обсуждения проблем, которые могут возникнуть, и некоторых сравнений за / против использования изображений на основе Alpine.
Чтобы минимизировать размер изображения, в образы на базе Alpine редко включаются дополнительные связанные инструменты (например, 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
будет развернут образ и у вас есть космические ограничения, мы настоятельно рекомендуем использовать изображение по умолчанию этого хранилища.