Gymterview
junior

Что такое Dockerfile?

Dockerfile — это текстовый файл с набором инструкций для автоматической сборки Docker-образа. Каждая инструкция в Dockerfile создаёт новый слой в образе.

Пример для Java-приложения

Пример
# Базовый образ с JRE
FROM eclipse-temurin:17-jre-alpine

# Рабочая директория внутри контейнера
WORKDIR /app

# Копируем JAR-файл в контейнер
COPY target/myapp.jar app.jar

# Порт, который слушает приложение
EXPOSE 8080

# Команда запуска
ENTRYPOINT ["java", "-jar", "app.jar"]

Сборка образа

Для сборки образа из Dockerfile используется команда:

Пример
docker build -t myapp:1.0 .

Здесь -t задаёт имя и тег образа, а . указывает на контекст сборки (директорию, из которой Docker берёт файлы).

Правила именования

Файл должен называться Dockerfile (без расширения). Можно использовать другое имя, передав флаг -f:

Пример
docker build -f Dockerfile.prod -t myapp:prod .

На собеседовании: определите Dockerfile как декларативное описание образа. Упомяните, что каждая инструкция создаёт слой, и что порядок инструкций влияет на кэширование при пересборке. Будьте готовы написать простой Dockerfile для Spring Boot приложения.