Ответ
Dockerfile — это текстовый файл-инструкция для автоматической сборки Docker-образа. Он содержит пошаговые команды, которые определяют базовое окружение, устанавливают зависимости, копируют файлы приложения и настраивают его запуск.
Почему он важен? Dockerfile обеспечивает воспроизводимость и переносимость окружения, устраняя проблему "работает на моей машине".
Пример Dockerfile для Node.js приложения:
# 1. Определяем базовый образ
FROM node:18-alpine
# 2. Устанавливаем рабочую директорию внутри контейнера
WORKDIR /app
# 3. Копируем файлы зависимостей и устанавливаем их
COPY package*.json ./
RUN npm ci --only=production
# 4. Копируем исходный код приложения
COPY . .
# 5. Объявляем порт, который будет использовать приложение
EXPOSE 3000
# 6. Команда для запуска контейнера
CMD ["node", "server.js"]
Ключевые инструкции:
FROM— задает базовый образ.COPY/ADD— копирует файлы и папки в образ.RUN— выполняет команды в процессе сборки (установка пакетов).CMD— определяет команду по умолчанию для запуска контейнера.EXPOSE— документирует используемый порт (не открывает его).