Play IT

Dockerfile Builder

Интерактивное демо «Dockerfile Builder» — раздел Лаборатория.

lab

Конструктор Dockerfile

Соберите образ по слоям, проверьте предупреждения и симулируйте docker build

Добавить инструкцию

COPYКопирует файлы из контекста сборки в образ
COPY <src> <dest>

Инструкции (8)

FROMnode:20-alpine
Базовый образ
WORKDIR/app
Рабочая директория
COPYpackage*.json ./
Манифест зависимостей
RUNnpm ci --omit=dev
Установка зависимостей
COPY. .
Исходный код
ENVNODE_ENV=production
Режим production
EXPOSE3000
Порт HTTP
CMD["node", "server.js"]
Запуск приложения

Предпросмотр

1FROM node:20-alpine # Базовый образ
2WORKDIR /app # Рабочая директория
3COPY package*.json ./ # Манифест зависимостей
4RUN npm ci --omit=dev # Установка зависимостей
5COPY . . # Исходный код
6ENV NODE_ENV=production # Режим production
7EXPOSE 3000 # Порт HTTP
8CMD ["node", "server.js"] # Запуск приложения

Лог сборки

Нажмите "docker build" для симуляции
Справочник инструкций
FROM
Базовый образ для всех последующих слоёв
node:20-alpine
WORKDIR
Рабочая директория для RUN, COPY, CMD
/app
COPY
Копирует файлы из контекста сборки в образ
package*.json ./
RUN
Выполняет команду и фиксирует результат в новом слое
npm ci --omit=dev
ENV
Переменные окружения внутри контейнера
NODE_ENV=production
EXPOSE
Документирует порты, которые слушает приложение
3000
CMD
Команда по умолчанию при запуске контейнера
["node", "server.js"]
ARG
Аргумент только на этапе сборки
VERSION=1.0.0