1. Введение в Docker
Docker - это контейнерный двигатель с открытым исходным кодом, который позволяет разработчикам упаковать свои приложения и зависимости в портативный контейнер, а затем публикует их на любую популярную машину Linux или виртуализируйте их. Контейнеры полностью используют механизм песочницы, и между ними не будет никакого взаимодействия. Docker Image - это решение для выполнения контейнерных процессов. В этой статье мы создадим простое приложение Spring Boot.
2. Строительство окружающей среды
JDK 1,8+
Maven 3.0+
Docker Последняя версия.
3. Создайте проект с Maven
3.1 Создать структуру каталога
mkdir -p src/main/java/com/lidong/demo
В системах Linux или Mac.
3.2 Создать файл pom.xml
<? xml version = "1.0" Encoding = "utf-8"?> <project xmlns = "http://maven.apache.org/pom/4.0.0" xmlns: xsi = "http://www.w3.org/2001/xmlschema-instance" xsi: schemalocation = "http://maven.apache.org/pom/4.0.0 http://maven.apache.org/xsd/maven-4.0.0.xsd"> <delormentversion> 4.0.0 </modelversion> <groupid> com.lidong.demo </GroupD> <Artifactid> lidong-spring-boot-demo </artifactid> <sersive> 1,0-snapshot </version> <parent> <group-boot-starter-parent-parent </artifactid> <serse> 1.5.1.Release </версия> <RevitivePath <project.build.sourceencoding> UTF-8 </project.build.sourceEncoding> <project.Report.OutputEncoding> UTF-8 </Project.Report.OutputEncoding> <java.version> 1.8 </java.version> <docker.image.prefix> pressfire.prefix> pressfire.prefix> pressfire.prefix> pressfire. </свойства> <Depertiendions> <dehyederience> <groupid> org.springframework.boot </GroupId> <artifactId> Spring-boot-starter-web </artifactid> </depertive> <dependency> <groupid> org.springframework.boot </Groupid> <artifactId> spring-boot-starter-starter-test-test-test-test-test-test-testid> </artifactid> </depervice> <dependency> <groupid> org.springframework.boot </GroupId> <StrifactId> Spring-boot-starter-thymeleaf </artifactid> </dependency> </depertive> </depertion> </build> <blicins> <bricin> <groupid> org.spramework.boot </Group> <blicin> <groupid> org.spramework.boot </Group> <blicin> <groupid> org.spramework.boot </build> <ArtifactId> Spring-boot-maven-plugin </artifactid> </placin> <blicin> <groupid> com.spotify </GroupId> <strifactid> docker-maven-plugin </artifactid> <serview> 0.4.13 </version> <Конфигурация> <imageName>${docker.image.prefix}/${project.artifactId}</imageName> <dockerDirectory>src/main/docker</dockerDirectory> <resources> <resource> <targetPath>/</targetPath> <directory>${project.build.directory}</directory> <clact> $ {project.build.finalname} .jar </inclust> </resource> </resources> </configuration> </plugin> </plugins> </build> </project>Уведомление:
Плагин Spring Boot Maven предоставляет много удобных функций:
1) Он собирает все файлы JAR на классе и превращается в одну, запущенную JAR, что делает его более удобным для выполнения и передачи служб.
2) Он ищет общественный статический метод void main (), чтобы отметить как бегающий класс.
3) Он обеспечивает встроенный анализатор зависимости для установки номера версии для соответствия зависимостям Spring Boot. Вы можете переопределить любую версию, которую вы хотите, но это по умолчанию
Выбранный набор версий загрузки.
Плагин Docker-Maven-Plugin от Docker-Maven-Plugin-это изображение Docker, используемое для построения Maven
1) ImageName указывает имя изображения. Этот пример-Springio/Lidong-Spring-Boot-Demo
2) DockerDirectory указывает местоположение Dockerfile
3) Ресурсы относятся к файлам, которые необходимо составить вместе с DockerFile и используются при создании изображений. Как правило, пакеты JAR для приложений должны быть включены.
4. Напишите первое приложение Spring Boot
Напишите простое приложение Spring Boot:
src/main/java/com/lidong/demo/samplecontroller.java:
пакет com.lidong.demo; import org.springframework.boot.springApplication; импорт org.springframework.boot.autoconfigure.springbootapplication; импорт org.springframework.nesteoty.controller; импорт org.spramework.web.bindtation. org.springframework.web.bind.annotation.responsebody;/** * @project name: lidong-dubbo * @class Имя: Samplecontroller * @class Описание: * @author: lidong * @creation Время: 156./2/19 9:34. @Email: [email protected] */ @controller @springbootapplicationpublic class samplecontroller {@responsebody @requestmapping (value = "/") string home () {return "Hello Docker World"; } public static void main (string [] args) {springApplication.run (samplecontroller.class, "-server.port = 8081"); }}
Класс идентифицируется @springbootapplication @RestController и может использоваться для обработки веб -запросов к Spring MVC.
@Requestmapping Map / to Home () и ответьте "Hello Docker World".
Метод Main () использует метод Spring Boot SpressApplication.run () для запуска приложения.
5. Запустите программу
5.1 Используйте команду Maven
MVN Пакет
бегать:
java -jar target/lidong-spring-boot-demo-1.0-snapshot.jar
Посетите проект
Если программа работает правильно, браузер посещает http: // localhost: 8081/и вы можете увидеть слова «Hello Docker World». на странице.
5.2 Использование плагина Idea
6. Контейнер проект
Docker использует формат файла DockerFile, чтобы указать уровень изображения.
Создайте файл src/main/docker/dockerfile:
Из флорвлада /альпин-орэкдждка8: slimvolume /tmpadd lidong-spring-boot-demo-1.0-snapshot.jar app.jarrun sh -c 'touch /app.jar'env java_opts = "" interpoint ["sh", ",", "Java $ java_opts =" " -Djava.security.egd = file:/dev /./ urandom -jar/app.jar "]
Объясните этот файл конфигурации:
Том указывает временный каталог файлов как /TMP. Эффект состоит в том, чтобы создать временный файл в каталоге хоста /var /lib /docker и связать его с контейнером /TMP. Шаги модификации являются необязательными, и это необходимо, если включает в себя применение файловой системы. Справочник /TMP используется для сохраняется в папке данных Docker, потому что встроенный контейнер Tomcat, используемый при использовании Spring Boot /TMP в качестве рабочего каталога по умолчанию.
Файл JAR в проекте добавляется в контейнер
Intrypoint Execute Project App.jar. Чтобы сократить время запуска Tomcat, добавьте свойство системы, чтобы указать на «/dev/urandom» в качестве источника энтропии
Стройте изображение Docker
Выполнить сборку, чтобы стать изображением Docker:
MVN Package Docker: Build
бегать
Запустите изображение Docker
Docker Run -p 8081: 8081 -T Springio/Lidong-Spring-Boot-Demo
Смотрите этот весенний значок. Я думал, что мы завершили программу Spring Boot на Docker.
Затем перейдите в браузер и посетите http: // localhost: 8081/, и вы можете увидеть слова «Hello Docker World». на странице.
Суммировать
Выше приложение Spring Boot, введенное вам редактором. Приложение Spring Boot создается, запускается и выпускается через Docker. Я надеюсь, что это будет полезно для всех. Если у вас есть какие -либо вопросы, пожалуйста, оставьте мне сообщение, и редактор ответит всем вовремя. Большое спасибо за вашу поддержку сайту wulin.com!