Files
docker/docs/1. Что такое Docker.md
T
2026-05-04 11:09:04 +03:00

3.4 KiB
Raw Blame History

Что такое Docker

Docker - это платформа для упаковки приложения вместе со всеми зависимостями в изолированную среду (контейнер), которая запускается одинаково на любом устройстве.

Коротко по терминам:

  1. Образ (image) - неизменяемый «снимок» файловой системы и метаданных запуска (команда по умолчанию, переменные окружения, порты). Образ строится из слоёв; его можно скачать из реестра (например, Docker Hub) или собрать сами из Dockerfile.
  2. Контейнер - запущенный экземпляр образа. У контейнера есть ID, имя, сеть, опционально тома с данными. Один образ может породить много контейнеров.
  3. Docker Engine - демон и CLI (docker), которые создают и управляют контейнерами на хосте.
  4. Docker Compose - инструмент (плагин к CLI: docker compose) для описания нескольких сервисов в одном YAML-файле: сборка образов, порты, тома, сети, зависимости запуска, переменные окружения.

Зачем это нужно

  1. Стабильность - «у меня не работает» больше не актуально, докер образ можно запускать на любом устройстве, где установлен докер.
  2. Изоляция - приложения не мешают друг другу версиями библиотек и не требуют полноценной виртуальной машины на каждый сервис.
  3. Масштаб - образы легко переносить, дальше их поднимают Kubernetes, Nomad и т.д., но база всё равно Docker-образ.
  4. Compose для стека - фронт, бэкенд, БД и кэш поднимаются одной командой и общаются по внутренней сети.

Docker и виртуальная машина

Виртуальная машина эмулирует железо и поднимает полную ОС. Контейнер делится ядром хоста и изолируется, он легче и быстрее стартует, но это не замена полной изоляции уровня ВМ для всех сценариев безопасности.

Когда достаточно docker run, а когда Compose

  • docker run - один контейнер, эксперимент, отладка, скрипты.
  • docker compose - несколько связанных сервисов, общая сеть, тома, единая точка входа для разработки и демо.

Документация