Dockerfile для Spring приложения
Dockerfile - это текстовый документ, который содержит все команды, которые пользователь может вызвать в командной строке для создания образа Docker. В этой памятке мы рассмотрим, как создать Dockerfile для Spring приложения.
Структура Dockerfile
Вот пример Dockerfile для Spring Boot приложения:
# Используем официальный образ OpenJDK 8
FROM openjdk:8-jdk-alpine
# Определяем аргументы
ARG JAR_FILE=target/*.jar
# Копируем jar файл в контейнер
COPY ${JAR_FILE} app.jar
# Запускаем приложение
ENTRYPOINT ["java","-jar","/app.jar"]
Объяснение команд
-
FROM openjdk:8-jdk-alpine
- Эта команда указывает Docker использовать официальный образ OpenJDK 8 как базовый для нашего образа. -
ARG JAR_FILE=target/*.jar
- Здесь мы определяем аргументJAR_FILE
, который указывает на jar файл нашего приложения. -
COPY ${JAR_FILE} app.jar
- Эта команда копирует jar файл нашего приложения в контейнер Docker. -
ENTRYPOINT ["java","-jar","/app.jar"]
- Здесь мы указываем Docker запустить наше приложение при запуске контейнера.
Сборка и запуск Docker образа
После того, как Dockerfile создан, вы можете собрать Docker образ, используя следующую команду:
docker build -t my-spring-app .
Здесь my-spring-app
- это имя вашего Docker образа, а .
- это путь к каталогу, где находится ваш Dockerfile.
После сборки образа вы можете запустить его, используя следующую команду:
docker run -p 8080:8080 my-spring-app
Здесь -p 8080:8080
указывает Docker пробросить порт 8080 из контейнера на хост-машину, а my-spring-app
- это имя вашего Docker образа.
Теперь ваше Spring приложение должно быть доступно по адресу http://localhost:8080
.