Дизрапт недели: Докер
Дизрапт этой недели — Docker (читается "Докер") — открытая платформа для разработки и развертывания приложений для микросервисных архитектур. В отличие от технологий виртуализации, для изоляции приложений Докер использует возможности ядра Линукс для запуска приложений на одной операционной системе, но в изолированной среде — контейнере.
Сравнение технологий виртуализации и Докера показано на рисунке:
Для запуска нового приложения нет необходимости запускать гостевую операционную систему. Это существенно сокращает время запуска и остановки контейнера, экономит оперативную память и процессорное время. Запуск и остановка контейнеров чаще всего происходит за считанные миллисекунды.
Если типичная технология виртуализации — это идеальный компьютер. То Докер — это идеальная операционная система.
Контейнеры Докера запускаются из образов. Существует реестр образов — Докер хаб. Образ представлен специальным скриптовым языком, которым описываются действия, необходимые для настройки того или иного приложения: выбор базового образа, установка программ, компиляция, копирование файлов, запуск скриптов и программ и т. п. В реестре образов уже есть все популярные программы.
Например, вот скрипт (Докерфайл), описывающий образ веб-сервера Nginx:
Что нужно сделать, чтобы по этому образу запустить контейнер? Достаточно написать одну единственную команду в консоли:
docker run nginx
После скачивания образа на локальный компьютер, будет запущен контейнер с этим приложением. Всего лишь одна команда в командной строке и у вас запущен веб-сервер. Да теперь сисадмином может быть даже школьник или ваша бабушка!
Контейнеры можно запускать, останавливать, удалять.
Уже звучит потрясающе, а ведь мы с вами еще не обсудили композицию контейнеров и управление кластером из Докер-контейнеров.
Я строго рекомендую программистам и сисадминам бросить все и бежать изучать Докер.
Предыдущие дизрапты недели:
— Swagger