Запуск рабочего стола Docker с Spring Boot
19 декабря 2022 г.Я впервые столкнулся с Docker Desktop около 3 лет назад, когда работал главным архитектором (стратегические исследования и разработки) над эталонной архитектурой микросервисов в организации, занимающейся разработкой продуктов. В то время, когда я работал на своем корпоративном ноутбуке - стало утомительной задачей настроить виртуализацию и настройки, чтобы заставить его работать. Как только я наладил его бесперебойную работу, я понял, что требования к памяти, необходимые для его запуска, были довольно высокими. Иногда мне было трудно использовать мой ноутбук для ежедневной разработки, когда он работал. Это было также потому, что я работал над микросервисами, и у меня было запущено почти 6+ приложений с весенней загрузкой.
Опять же, в прошлом месяце я использовал Docker Desktop и обнаружил, что он работает более плавно и без проблем. Это было на моем личном ноутбуке. Кроме того, это связано с тем, что я запускал только один микросервис.
Я проведу вас шаг за шагом, чтобы установить рабочий стол Docker и создать образ Docker, отправить его в Docker, а затем создать/запустить его в контейнере Docker.
Требования
- Знание Spring Boot
- Основы контейнера Docker
- Windows 10 (обновленная)
- Докер для рабочего стола Windows
- Eclipse (проект Spring Boot)
Ссылка GitHub на репозиторий клонов/разветвленный код
https://github.com/sumithpuri/skp-spring-boot-docker-desktop а>
⦿ Установка подсистемы Windows для Linux
Сначала мы начнем с установки подсистемы Windows для Linux (WSL2). Вы должны убедиться, что в вашей Windows 10 установлены все последние обновления. В противном случае вы не сможете найти описанные функции.
Нажмите ⊞+I, чтобы перейти к настройкам Windows. Найдите/нажмите [Apps & Характеристики] > Нажмите [Дополнительные функции] > Нажмите [Дополнительные функции Windows] > Убедитесь, что [Виртуальная платформа/Виртуализация] уже выбрана. Если вы не видите такой опции, убедитесь, что вы включили [Виртуализацию] в BIOS.
Убедившись, что [Виртуальная платформа/Виртуализация] уже установлена, щелкните [Подсистема Windows для Linux], чтобы установить ее в своей системе. При желании вы можете установить [Платформу гипервизора Hyper-V/Windows].
Дополнительные сведения доступны по следующей ссылке.
⦿ Установить Docker для рабочего стола Windows
Следующий шаг – загрузка установочного пакета Docker для рабочего стола Windows. Вы можете загрузить его с официального сайта, из этого ссылка. Пожалуйста, пройдите процесс установки, поскольку он довольно прост, если у вас есть все необходимые условия. Кроме того, не забудьте создать учетную запись на [Docker Hub], используя свой адрес электронной почты. Это можно использовать для отправки изображений в Интернет с общедоступным или частным доступом.
⦿ Создание приложения Spring Boot
Следующим шагом является создание приложения Spring Boot. Вы также можете обновить/отредактировать существующее приложение, включив в него файл dockerfile и выполнить сборку с помощью плагина docker maven. Пример приложения Spring Boot можно клонировать/разветвить по этой ссылке.
⦿ Включить подключаемый модуль Maven Docker
<properties>
<java.version>1.8</java.version>
<docker.image.prefix>spring-boot-docker</docker.image.prefix>
<docker.image.exposed.port>8080</docker.image.exposed.port>
<docker.image.dockerfile.dir>${basedir}</docker.image.dockerfile.dir>
<docker.image.dockerize.version>v0.6.1</docker.image.dockerize.version>
<docker.plugin.version>1.2.0</docker.plugin.version>
</properties>
Убедитесь, что ваш maven pom.xml, который будет использоваться для сборки проекта, имеет следующие записи в разделе
Ниже приведен фрагмент кода [dockerfile-maven-plugin], который нужно добавить в раздел
<!-- dockerfile maven plugin -->
<plugin>
<groupId>com.spotify</groupId>
<artifactId>dockerfile-maven-plugin</artifactId>
<version>1.4.12</version>
<configuration>
<repository>${docker.image.prefix}/${project.artifactId}</repository>
<buildArgs>
<JAR_FILE>target/${project.build.finalName}.jar</JAR_FILE>
</buildArgs>
</configuration>
</plugin>
<!-- dockerfile maven plugin -->
⦿ Создайте Dockerfile
Типичный файл dockerfile для весеннего загрузочного приложения будет выглядеть так, как показано выше. Он содержит образ jdk, том в контейнере для данных, сгенерированных контейнером, и другие элементы строки для двоичного/jar-файла, а также команду для запуска этого приложения в контейнере.
FROM openjdk:8-jdk-alpine
VOLUME /tmp
ARG JAR_FILE
COPY ${JAR_FILE} spring-boot-docker.jar
ENTRYPOINT ["java","-jar","/spring-boot-docker.jar"]
⦿ Создать/отправить образ в Docker
Используйте следующие параметры при запуске maven. Плагин — это файл докеров, а цель — сборка. Он создаст образ и отправит его в докер для рабочего стола, работающий через порт 2376.
mvn clean install dockerfile:build
⦿ Создать/запустить контейнер Docker
docker run -p 9090:8080 -t spring-boot-docker/skp-spring-boot-docker
Затем перейдите в папку, в которую вы установили [docker]. Рекомендуется включить это в переменную окружения [PATH], если вы собираетесь часто использовать докер. Затем вы можете использовать следующую команду для создания/запуска контейнера Docker.
⦿ Протестируйте приложение Spring Boot
http://localhost:9090/springbootdocker/quote
Для этого примера приложения вы увидите, что приложения весенней загрузки выводят в браузере следующий вывод!
В следующей части этой статьи основное внимание будет уделено переносу этого на AWS Beanstalk/EC2, чтобы мы могли разверните этот контейнер в облаке AWS.
Ожидайте следующую статью из этой серии под названием «SKP’s SB #02: Чистое завершение работы приложений Spring Boot». «Серия статей SKP SB» полностью основана на Spring Boot, а также на связанных темах, таких как Docker Desktop, таймеры Java, аннотации Spring и чистое завершение работы приложений Spring Boot.
:::информация Также опубликовано здесь.
:::
Оригинал