Как Dockerize весеннее загрузочное приложение с помощью maven
Docker — это платформа контейнеризации с открытым исходным кодом, используемая для создания, запуска и управления приложениями в изолированной среде. Контейнер изолирован от другого и объединяет его программное обеспечение, библиотеки и файлы конфигурации. В этой статье мы обсудим, как докеризировать приложение Spring Boot для целей развертывания.
Предварительные требования: прежде чем продолжить, убедитесь, что на вашем компьютере установлены узел и докер. При необходимости посетите руководство по установке Java или руководство по установке Docker.
Настройка весеннего загрузочного приложения
Шаг 1: Создайте каркас приложения, используя https://start.spring.io.
Шаг 2: Теперь создайте проект maven со следующей конфигурацией. После ввода всех данных нажмите кнопку «СОЗДАТЬ», чтобы загрузить проект.
Шаг 3: Извлеките заархивированный файл и откройте его в любой IDE по вашему выбору.


Шаг 4: Откройте базовый java-файл проекта и добавьте новый контроллер в базовый класс приложения.
@RequestMapping("/") public String home() { return "Dockerizing Spring Boot Application"; }
Шаг 5: Теперь добавьте аннотацию RestController и импортируйте необходимые пакеты. В итоге ваш файл Application.java должен выглядеть так.
Java
package com.docker.spring; import org.springframework.boot.SpringApplication; import org.springframework.boot.autoconfigure.SpringBootApplication; import org.springframework.web.bind.annotation.RequestMapping; import org.springframework.web.bind.annotation.RestController; @SpringBootApplication @RestController public class Application { @RequestMapping ( "/" ) public String home() { return "Dockerizing Spring Boot Application" ; } public static void main(String[] args) { SpringApplication.run(Application. class , args); } } |
Шаг 6. Теперь запустите приложение, выполнив следующие действия.
$ ./mvnw spring-boot:run


Шаг 7. Перейдите по адресу http://localhost:8080, чтобы протестировать приложение.
Структура проекта: Вот как должна выглядеть структура проекта на данный момент:
Докеризация нашего приложения
Теперь создайте новый файл jar с помощью maven builder.
$ ./mvnw clean package


В корне нашего проекта создайте новый Dockerfile.
$ touch Dockerfile
Вставьте следующее в Dockerfile
# Fetching latest version of Java FROM openjdk:18 # Setting up work directory WORKDIR /app # Copy the jar file into our app COPY ./target/spring-0.0.1-SNAPSHOT.jar /app # Exposing port 8080 EXPOSE 8080 # Starting the application CMD ["java", "-jar", "spring-0.0.1-SNAPSHOT.jar"]
Теперь создайте образ докера с помощью команды сборки докера.
$ docker build -t [name:tag] .
- -t: имя и тег для изображения
- . : контекст процесса сборки.
Как только процесс сборки будет завершен, вы получите идентификатор и тег вашего нового изображения.
Создайте контейнер докеров, запустив
$ docker run -d -p [host_port]:[container_port] –name [container_name] [image_id/image_tag]
- -d: запустить контейнер во время печати идентификатора контейнера.
- -p: сопоставление порта для нашего контейнера
- --name: присвоить имя контейнеру
Убедитесь, что контейнер был успешно создан, запустив
$ docker container ps
Структура проекта: вот как должна выглядеть структура проекта на данный момент.
Перейдите по адресу http://localhost:8080/ в браузере, чтобы просмотреть приложение весенней загрузки.
Примечание. Пожалуйста, обратитесь к Dockerfile, используемому в этом руководстве, если у вас возникли трудности с выполнением вышеуказанных шагов.