Docker
Docker представляет собой платформу или программное обеспечение (что тоже будет верным) с открытым исходным кодом, которое используют для разработки, тестирования, доставки и запуска приложений в контейнерных средах. Полезность платформы обнаруживается в более эффективном использовании ресурсов, быстром переносе приложений в рабочем состоянии в другие среды и автоматизации развертывания.
Платформа заключает программное обеспечение в стандартизованные контейнеры вместе со всей логикой созависимостей. Собранный таким образом контейнер содержит все ключевые компоненты: системные инструменты, код и среду исполнения, а также необходимые библиотеки.
Принцип работы Docker состоит в использовании стандартизированного способа исполнения кода, который ускоряет разработку, лишает ее определенных рисков и в большинстве случаев, более экономически выгоден. Например, в установке Redis или Elasticsearch больше нет нужды, поскольку их можно запускать напрямую из контейнера.
Способность к быстрому развертыванию дает Docker возможность быстрого описания всего окружения, что значительно удешевляет и ускоряет процессы разработки.
В практическом использовании Docker выделяется ряд преимуществ:
- Docker дает возможность доставлять сервисы на порядок чаще;
- Благодаря использованию заранее описанных контейнеров (со всеми зависимостями), облегчается механика развертывания, поскольку достигается повторяемость среды. Кроме этого, снижается критичность ошибок, поскольку запустить бэкап более ранней версии на порядок проще;
- Контейнерная упаковка Docker позволяет запустить больше кода на каждом используемом сервере, что оптимизирует расход ресурсов;
- Облегченная система переноса приложения из среды разработки и тестирования в продуктивную среду с последующим развертыванием.
Docker работает не только с родной ОС Linux, но и с Windows, а также macOS. Несмотря на очевидные плюсы использования ОС, Docker все равно может обладать рядом ограничений в зависимости от конфигурации конкретной системы.