В чем разница между Docker и локальным Web-сервером

«В чем разница между Docker и локальным Web-сервером» — вопрос из категории Devops, который задают на 10% собеседований Frontend Разработчик. Ниже — развёрнутый ответ с разбором ключевых моментов.

Ответ

Docker — это платформа для контейнеризации приложений, которая изолирует приложение со всеми его зависимостями в контейнере. Локальный сервер (например, XAMPP, WAMP) — это просто предустановленное ПО на твоей машине.

Ключевые отличия:

  • Изоляция: Docker создает изолированное окружение (контейнер), локальный сервер работает напрямую в системе.
  • Переносимость: Docker-контейнеры работают одинаково на любой ОС, локальный сервер требует настройки под конкретную систему.
  • Зависимости: В Docker зависимости (PHP, Nginx) упакованы в образ, локальный сервер требует ручной установки.

Пример с Docker:

FROM node:14
WORKDIR /app
COPY package.json .
RUN npm install
COPY . .
CMD ["npm", "start"]

Этот Dockerfile создаст контейнер с Node.js и зависимостями проекта.