-
Notifications
You must be signed in to change notification settings - Fork 0
Expand file tree
/
Copy pathDockerfile
More file actions
35 lines (25 loc) · 1.41 KB
/
Dockerfile
File metadata and controls
35 lines (25 loc) · 1.41 KB
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
# Шаг 1
# Базовый образ, содержащий среду Java времени выполнения
FROM openjdk:17-slim as build
WORKDIR application
# Добавить информацию о владельце
LABEL maintainer="Andrew Danilov <7.danilov@gmail.com>"
# Файл jar-приложения
ARG JAR_FILE=target/*.jar
# Добавить файл jar приложения в контейнер
COPY ${JAR_FILE} application.jar
RUN java -Djarmode=layertools -jar application.jar extract
# Шаг 2
# Таже среда Java времени выполнения
# Этот новый образ содержит несколько слоев приложения Spring Boot полного файла JAR
FROM openjdk:17-slim
WORKDIR application
# Скопировать каждый слой, полученный командой jarmode
COPY --from=build application/dependencies/ ./
COPY --from=build application/spring-boot-loader/ ./
COPY --from=build application/snapshot-dependencies/ ./
COPY --from=build application/application/ ./
# Добавляем curl в контейнер и в PATH (отсутствует по умолчанию)
RUN apt-get update && apt-get install -y curl && rm -rf /var/lib/apt/lists/*
# Использовать org.springframework.boot.loader.JarLauncher для запуска приложения
ENTRYPOINT ["java", "org.springframework.boot.loader.JarLauncher"]