логотип PurpleSchool
логотип PurpleSchool

Java 21 в Docker

Автор

Олег Марков

Введение

Java 21 — это последняя версия популярного языка программирования Java, предлагающая новые возможности и улучшения. Docker, в свою очередь, стал стандартом для контейнеризации приложений, обеспечивая лёгкое распространение и развертывание приложений. Вместе они образуют мощный дуэт для современных разработчиков. В этой статье мы рассмотрим, как запустить Java 21 в Docker, чтобы воспользоваться всеми преимуществами этой интеграции.

Установка Java 21 в Docker

Подготовка среды

Перед тем, как начать, убедитесь, что у вас установлены Docker и Docker Compose на вашем ПК. Если у вас возникает вопрос, поможет ли эта комбинация в вашей повседневной разработке, то ответ — да. Docker позволяет изолировать среды разработки и легко управлять ими.

Создание Dockerfile

Первым шагом будет создание Dockerfile для нашего приложения на Java 21. Dockerfile — это текстовый файл, содержащий инструкции для сборки Docker-образа.

# Используем официальный образ OpenJDK с Java 21
FROM openjdk:21-jdk-slim

# Устанавливаем рабочую директорию
WORKDIR /app

# Копируем файлы нашего приложения в контейнер
COPY . .

# Устанавливаем основной командой запуск приложения
CMD ["java", "-jar", "your-java-application.jar"]

Обратите внимание, что в данном случае мы используем базовый образ openjdk:21-jdk-slim. Это облегченная версия JDK, идеально подходящая для контейнеризации.

Сборка Docker-образа

После создания Dockerfile нам нужно собрать Docker-образ. Для этого используйте следующую команду в терминале:

docker build -t my-java-app .

Здесь мы создаём образ под названием my-java-app. Точка в конце команды указывает на текущую директорию, где расположен наш Dockerfile.

Использование Java 21 с Docker

Запуск приложения в контейнере

Теперь, когда наш образ готов, мы можем запустить контейнер, используя команду:

docker run --name my-running-java-app -d my-java-app

Флаг -d запускает контейнер в фоновом режиме, а --name задает его имя для упрощения управления.

Контейнеризация в разрезе нового Java

Java 21 предлагает несколько улучшенных функций, таких как альтернативные паттерны, которые можно легко протестировать в среде Docker. Создайте маленький проект, чтобы попрактиковаться с этими нововведениями и протестировать их в контейнере.

Настройка среды

Вы можете легко настроить переменные среды, использовать тома для хранения данных и сетевые параметры для взаимодействия вашего приложения с другими сервисами. Например, добавьте в команду запуска:

docker run -e "ENV_VARIABLE=value" --name my-java-app -d my-java-app

Где -e "ENV_VARIABLE=value" устанавливает переменную среды ENV_VARIABLE с соответствующим значением.

Заключение

Docker и Java 21 идеально подходят для разработки и деплоя современных приложений. Использование Docker упрощает управление средами и развёртывание, в то время как Java 21 приносит новейшие функции для разработки. Благодаря контейнеризации, вы можете легко масштабировать ваши приложения, тестировать новые возможности Java и работать с изолированными и согласованными средами. Этот тандем позволяет оставаться на передовой в мире разработки, предоставляя гибкость и эффективность при работе с приложениями.

Карта развития разработчика

Получите полную карту развития разработчика по всем направлениям: frontend, backend, devops, mobile