Логотип YeaHub

База вопросов

Собеседования

Тренажёр

База ресурсов

Обучение

Навыки

Задачи

Войти

Выбери, каким будет IT завтра — вместе c нами!

YeaHub — это полностью открытый проект, призванный объединить и улучшить IT-сферу. Наш исходный код доступен для просмотра на GitHub. Дизайн проекта также открыт для ознакомления в Figma.

© 2026 YeaHub

AI info

Карта сайта

Документы

Медиа

Назад
Вопрос про Docker: docker, java, deploy, dockerfile

Как осуществляется контейнеризация Java-приложений с помощью Docker?

Этот вопрос проверяет знание базовых принципов контейнеризации и умение упаковать Java-приложение в Docker-контейнер для удобства запуска и деплоя.

Короткий ответ

Java-приложение можно контейнеризовать, создав Dockerfile, в котором указывается базовый образ с JDK или JRE, копируется jar-файл и прописывается команда запуска. Это позволяет запускать приложение изолированно, независимо от настроек окружения. Основные шаги — сборка jar-файла, написание Dockerfile и сборка образа с помощью команды docker build.

Длинный ответ

Контейнеризация — это способ упаковать приложение вместе со всеми его зависимостями в единый переносимый контейнер. Для Java-приложений используется следующий процесс:

1. Сборка jar-файла

Обычно с помощью Maven или Gradle:

mvn clean package

Это создаст файл target/app.jar.

2. Создание Dockerfile

Простой Dockerfile может выглядеть так:

FROM openjdk:17-jdk-slim
COPY target/app.jar app.jar
ENTRYPOINT ["java", "-jar", "app.jar"]
  • FROM — базовый образ с Java.

  • COPY — копирует jar-файл внутрь контейнера.

  • ENTRYPOINT — указывает команду запуска.

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

docker build -t my-java-app .

4. Запуск контейнера

docker run -p 8080:8080 my-java-app
  • Контейнер теперь доступен по порту 8080.

  • Можно использовать переменные окружения, volume'ы и другие опции Docker при запуске.

Альтернативы

  • Jib от Google — позволяет собирать образы без Dockerfile, прямо из Maven/Gradle.

  • Multi-stage builds — оптимизация размера образа, разделяя стадии сборки и выполнения.

Когда использовать:

  • Когда нужно обеспечить одинаковое поведение приложения на всех средах (dev/test/prod).

  • Когда хотите деплоить в Kubernetes, AWS ECS, GCP Cloud Run и другие оркест

Уровень

  • Рейтинг:

    2

  • Сложность:

    7

Навыки

  • Docker

    Docker

  • Java

    Java

Ключевые слова

#docker

#java

#deploy

#dockerfile

Подпишись на Java Developer в телеграм