3.1 @SpringBootApplication для запуска всего, а также контроллер для возврата страницы.
package com.mkyong;
import org.springframework.boot.SpringApplication;
import org.springframework.boot.autoconfigure.SpringBootApplication;
import org.springframework.stereotype.Controller;
import org.springframework.ui.Model;
import org.springframework.web.bind.annotation.GetMapping;
@SpringBootApplication
@Controller
public class StartApplication {
@GetMapping("/")
public String index(final Model model) {
model.addAttribute("title", "Docker + Spring Boot");
model.addAttribute("msg", "Welcome to the docker container!");
return "index";
}
public static void main(String[] args) {
SpringApplication.run(StartApplication.class, args);
}
}
3.2 Страница с тимликом.
Hello Docker + Spring Boot
Default title.
Default text.
4. Запустите Пружинный Ботинок
4.1 Готово, упакуйте его с помощью Maven.
$ cd project
$ mvn clean package
4.2 Запустите пружинную загрузку.
$ cd project
$ java -jar target/spring-boot-web.jar
Готово, далее мы начнем это target/spring-boot-web.jar в контейнере докера.
4. Файл настройки
Файл Dockerfile представляет собой текстовый файл, содержащий все команды для сборки образа docker. Просмотрите команды в файле Dockerfile :
4.1 Он создает базу изображений docker на принять openjdk/openjdk 11: alpine- или ,/|alpine linux с установленным openjdk 11 . Это базовое изображение принять openjdk/openjdk 11:alpine-jre является лишь примером , мы можем найти больше базовых изображений из официального Docker Hub
# For Java 8, try this
# FROM openjdk:8-jdk-alpine
# For Java 11, try this
FROM adoptopenjdk/openjdk11:alpine-jre
5.3 Запустите контейнер docker spring-boot:1.0 , запустите /opt/app/app.jar файл во время запуска.
Добавить выполнить -d для запуска контейнера в режиме отсоединения – запустите контейнер в фоновом режиме.
Добавьте run -p для отображения портов.
$ sudo docker run -d -p 8080:8080 -t spring-boot:1.0
Еще несколько примеров для запуска контейнера
$ sudo docker run -d -p 80:8080 -t spring-boot:1.0
$ sudo docker run -d -p 443:8443 -t spring-boot:1.0
$ sudo docker run -d -p 80:8080 -p 443:8443 -t spring-boot:1.0
Готово, мы докеризуем приложение Spring Boot.
6. Часто задаваемые вопросы
6.1 Список все контейнеры
$ sudo docker ps
CONTAINER ID IMAGE COMMAND CREATED STATUS PORTS NAMES
3e36a2c0c241 spring-boot:1.0 "java -jar app.jar" 13 seconds ago Up 12 seconds 0.0.0.0:8080->8080/tcp elegant_euler
6.2 Остановите контейнер по идентификатору контейнера.
$ sudo docker stop 3e36a2c0c241
6.3 Как развернуть контейнер? Самый быстрый способ – пометить и отправить изображение в официальный концентратор докеров и вернуть контейнер на сервер.
Создайте изображение “имя: метка”.
$ cd project
$ sudo docker build -t spring-boot:1.0 .
Сначала отметьте, прежде чем нажимать на концентратор docker.
$ sudo docker image tag spring-boot:1.0 your_id/spring-boot:1.0
$ sudo docker image push your_id/spring-boot:1.0
``
In production server.
```bash
$ sudo docker pull your_id/spring-boot:1.0
$ sudo docker run -d -p 80:8080 -t spring-boot:1.0
6.4 Для SSL, объявленный сертификат (jks или p12) в application.properties , начинается с порта 8443 (настраивается)