Wiki
DevOps

Docker — что это простыми словами

Docker — платформа контейнеризации приложений. Упаковывает приложение вместе с зависимостями в изолированный образ, запускается везде одинаково.

Docker — платформа для упаковки, запуска и распространения приложений в контейнерах. Контейнер — изолированный процесс с собственной файловой системой, сетью, PID-неймспейсом, но использующий ядро хост-ОС (в отличие от VM с собственным ядром). Появился в 2013 году, за 10 лет стал стандартом индустрии.

Ключевые концепции: Dockerfile — рецепт сборки образа (`FROM node:22`, `COPY . .`, `RUN npm install`, `CMD ["npm", "start"]`). Image — готовый снимок с приложением и зависимостями. Container — работающий экземпляр image. Registry — репозиторий образов (Docker Hub, ghcr.io, GitLab Registry).

Почему все перешли на Docker: (1) «works on my machine» → «works everywhere» — образ одинаковый на dev, staging, production, (2) быстрое масштабирование — контейнер запускается за секунды, VM — за минуты, (3) микросервисы — каждый в своём контейнере с изоляцией. Для CI/CD, deployment на Kubernetes, dev-окружения — Docker де-факто стандарт.

На нашем VPS Docker + docker-compose устанавливается через готовый cloud-init шаблон при создании. Все наши тарифы поддерживают nested KVM — Docker работает без ограничений, включая docker-in-docker для CI.

Частые вопросы

Docker или VM — что выбрать?
Docker для микросервисов, CI, dev-окружений. VM когда нужна другая ОС (Windows на Linux-хосте), нативная изоляция, менять ядро.
На каком тарифе хватит для Docker?
Для одного контейнера (Node.js/Python + Postgres) — VPS-S (2 vCPU / 4 ГБ) от €8. Для K8s-node — VPS-M/L (4-8 vCPU / 8-16 ГБ).

Смотрите также