31 авг. 2023
Alexandr Yak
54
Пример dockerfile spring
Dockerfile — это текстовый файл, который содержит инструкции для создания Docker-образа. Эти инструкции включают в себя настройку операционной системы, установку программ, копирование файлов и другие команды, необходимые для создания и настройки окружения внутри контейнера.
# Dockerfile для Spring приложения
Dockerfile - это текстовый документ, который содержит все команды, которые пользователь может вызвать в командной строке для создания образа Docker. В этой памятке мы рассмотрим, как создать Dockerfile для Spring приложения.
## Структура Dockerfile
Вот пример Dockerfile для Spring Boot приложения:
```Dockerfile
# Используем официальный образ OpenJDK 8
FROM openjdk:8-jdk-alpine
# Определяем аргументы
ARG JAR_FILE=target/*.jar
# Копируем jar файл в контейнер
COPY ${JAR_FILE} app.jar
# Запускаем приложение
ENTRYPOINT ["java","-jar","/app.jar"]
```
## Объяснение команд
- `FROM openjdk:8-jdk-alpine` - Эта команда указывает Docker использовать официальный образ OpenJDK 8 как базовый для нашего образа.
- `ARG JAR_FILE=target/*.jar` - Здесь мы определяем аргумент `JAR_FILE`, который указывает на jar файл нашего приложения.
- `COPY ${JAR_FILE} app.jar` - Эта команда копирует jar файл нашего приложения в контейнер Docker.
- `ENTRYPOINT ["java","-jar","/app.jar"]` - Здесь мы указываем Docker запустить наше приложение при запуске контейнера.
## Сборка и запуск Docker образа
После того, как Dockerfile создан, вы можете собрать Docker образ, используя следующую команду:
```bash
docker build -t my-spring-app .
```
Здесь `my-spring-app` - это имя вашего Docker образа, а `.` - это путь к каталогу, где находится ваш Dockerfile.
После сборки образа вы можете запустить его, используя следующую команду:
```bash
docker run -p 8080:8080 my-spring-app
```
Здесь `-p 8080:8080` указывает Docker пробросить порт 8080 из контейнера на хост-машину, а `my-spring-app` - это имя вашего Docker образа.
Теперь ваше Spring приложение должно быть доступно по адресу `http://localhost:8080`.