Docker — это инструмент, который позволяет упаковывать приложение вместе со всеми необходимыми зависимостями в изолированную среду, называемую контейнером. Такой контейнер можно запускать на любой машине с установленным Docker, и приложение будет вести себя одинаково независимо от среды — будь то локальный компьютер, тестовый сервер или продакшен. Вместо ручной настройки операционной системы, библиотек и сервисов на каждом сервере, Docker предлагает создать образ (image), внутри которого уже содержится всё необходимое. Из этого образа запускается контейнер.
Контейнер представляет собой изолированный и легковесный процесс с собственным окружением, который не конфликтует с другими приложениями на той же системе. Docker отличается от традиционных виртуальных машин (VM): Если упростить: виртуальная машина — это отдельное здание, а контейнер — квартира внутри уже существующего дома. Docker решает несколько важных задач: Новичкам можно двигаться по следующему пути: