Docker
Docker — ПО для автоматизации развёртывания и управления контейнеризованными приложениями.
Docker позволяет «упаковать» разработанное приложение со всеми его зависимостями и окружением в один контейнер, который может быть перенесён и запущен на другой системе. Docker обеспечивает изоляцию запускаемых на узле контейнеров на уровне файловой системы, процессов и сети. Всё это сильно упрощает тестирование и разворачивание приложений, устраняя влияние параллельно работающего ПО и разницы окружений в среде разработки, тестирования и эксплуатации.
Docker также предоставляет широкие возможности по управлению контейнерами: позволяет запускать процессы в новых контейнерах, останавливать и перезапускать контейнеры, приостанавливать и возобновлять процессы в контейнерах, а также осуществлять мониторинг запущенных контейнеров.
По сути, появление Docker послужило триггером к переходу от монолитной к более модульной и микросервисной архитектуре в разработке ПО. А еще больше этот тренд усилил Kubernetes — система оркестрации контейнерных приложений в облачной среде.