# Docker — Основы (one-screen)

## 1) Что такое Docker
**Docker** — платформа контейнеризации: упаковываем приложение + зависимости в **image**, запускаем как **container**.

Контейнер ≠ виртуальная машина:
- VM виртуализирует железо/ОС (гипервизор), тяжелее.
- контейнер — изоляция процессов на уровне ОС (namespaces/cgroups), легче и быстрее стартует.

## 2) Базовые сущности
- **Image** — неизменяемый шаблон (слои), из которого запускаются контейнеры.
- **Container** — запущенный экземпляр image.
- **Registry** — хранилище image (Docker Hub, GHCR, GitLab registry).

## 3) Зачем
- одинаковый runtime “у меня/у тебя/в проде”,
- быстрые деплои,
- удобная сборка CI,
- изоляция зависимостей.

## 4) Минимальные команды (must-know)
```bash
docker pull nginx:alpine
docker run --rm -p 8080:80 nginx:alpine
docker ps
docker logs <container>
docker exec -it <container> sh
```

## 5) Важные детали
- Сетевой драйвер по умолчанию: **bridge**.
- Персистентные данные контейнера выносят в **volumes**.

---
**Source:** [[Основы - Docker|Основы - Docker]]
