Docker облегчает развертывание приложений, позволяет "упаковать" как само приложение, так и только его зависимости в изолированную среду. Основной посыл здесь: "Ничего лишнего, только то, что надо для конкретного приложения". Как следствие — экономия ресурсов системы.

Общая схема выглядит так:

Есть основное ПО, его называют Docker Engine — это движок, который устанавливают на ОС. Обычно слово Engine опускают, подразумевая его. Существует бесплатная версия Docker Community Edition и платная Docker Enterprise.

После чего нам понадобится Docker File, в котором и описываются правила по сборке самого образа приложения, иными словами инструкция в виде текстового файла того, что будем собирать для образа.

Далее на основе Docker File собирается образ, который называют Docker Image, включающий зависимости, конфигурацию для дальнейшего развертывания среды.

И собственно сам Docker Container — это легкий, автономный пакет ...