Docker: особенности устройства и работы платформы

Дата: 27.03.2020

Что касается самой платформы, то разработчики предлагают ее в двух редакциях. Docker Community Edition поддерживается сообществом, его распространение совершенно бесплатное. Чтобы использовать данную редакцию, у пользователя нет необходимости получать лицензию. Вторая редакция – Docker Enterprise Edition. Ее поддержание и распространение происходит на коммерческих основаниях. Отличие в том, что последняя версия открывает перед пользователями множество дополнительных возможностей, в частности, для администрирования и совершенно безопасной работы.

Язык программирования, который использовался для написания Docker, – Go. Он мощный и компилируемый, многопоточный. Разработан компанией Google и используется разработчиками для создания приложений, которые подходят для распределительных систем и многоядерных процессоров.

В состав Docker входит несколько главных компонентов.

1.     Docker Client. Предназначен для выполнения команд из строки docker CLI. Обеспечивает взаимодействие с Docker Daemon.

2.     Docker Daemon или dockerd. Программный интерфейс API. Его предназначение – обеспечивать взаимодействие с иными приложениями. Все самые важные возможности реализованы именно этим компонентом.

3.     Containerd или docker-containerd. Это супервизор контейнеров. Используют в командах start, stop и других, которые предназначаются для управления контейнерами.

4.     Shim или docker-containerd-shim. С помощью данного компонента реализовывается контейнерная daemonless-модель. С ней контейнеры могут работать вне зависимости от dockerd

5.     Runc или docker-runc. Также обеспечивает работу контейнеров.

Docker применяет CGroup – ядро ОС Linux. Этот механизм обеспечивает управление ресурсами для вычисления, которые использует процессор, сеть, память и так далее. По факту, Docker – слой управления виртуализацией контейнеров. Его функции осуществляются посредством Docker API.

Способы развертывания Docker напрямую зависят от того, какая версия и тип дистрибутива используется. Оказывает на это влияние и основная операционная система. Так, если это Linux, целесообразней всего использовать стандартные скрипты развертывания. Windows, macOS поддерживают контейнеры Линукса. Если Docker необходим конкретно для этих ОС, следует использовать соответствующий дистрибутив и инструментарий командной строки.

Docker является абсолютно безопасной и отказоустойчивой контейнерной платформой. Каждый образ или контейнер работает внутри сети, преобразование IP-адресов происходит методом NAT по отношению к основному хосту. Происходит публикация только тех портов, которые необходимы. Чтобы коммуникация с репозиториями была максимально безопасной, применяются специальные сертификаты. Отказоустойчивость обеспечена кластеризацией, в основе которой – технологии Swarm. Мониторинг работоспособности возможен благодаря многим разработанным для этих целей инструментам.

Существующие альтернативные платформы, например, OpenShift, которая поддерживается компаниями IBM и Red Hat, применяют подобные технологические решения.

Учебный центр «Сетевые Технологии» разрабатывает комплексные учебные программы по управлению на платформе Docker.

Коментарии отсутствуют