Docker — это ПО для запуска приложений в контейнерах. В отличие от виртуальных машин, контейнеры используют общее ядро хостовой ОС, что снижает потребление ресурсов (RAM/CPU) и ускоряет запуск до долей секунды. Изоляция обеспечивается на уровне процессов, а не эмуляции оборудования.
Работа строится на образах (images) — неизменяемых шаблонах с кодом и зависимостями. Из образа создается контейнер. Для описания процесса сборки используется Dockerfile, а для управления оркестрацией нескольких сервисов — docker-compose.yml.
Механизмы изоляции
Docker использует функции ядра Linux: namespaces для разделения ресурсов (сеть, файловая система) и cgroups для установки жестких лимитов на потребление памяти и процессора. Это позволяет запускать десятки изолированных сервисов на одном физическом сервере.
Платформа применяется для стандартизации окружения между разработкой и эксплуатацией. Это исключает ошибки, связанные с различием версий библиотек. Например, команда docker run -p 80:80 nginx мгновенно разворачивает готовый веб-сервер без ручной настройки конфигурационных файлов системы.