Терминология в Docker
0
5384
8 июля 2020 15:53
8/07/2020
Visitors have accessed this post 5384 times.
Инструмент контейнеризации Docker входит в число наиболее востребованных технологий, без которых не обойтись в работе Devops-инженера. Предлагаем начать знакомство с Docker с основных терминов, которые могут вам встретиться при работе с ним.
Docker — это инструмент, упрощающий разработку, тестирование и выкладку приложений за счет использования так называемых контейнеров.
Контейнер — это изолированная среда, где и происходит полезная нагрузка приложения. Контейнер запускается из образа.
Образ — это «упаковка» приложения. Оно складывается в архив, причем вместе с необходимыми зависимостями — системными (среда, библиотеки) и на уровне приложения.
Хостовая система — система, в которой запускается контейнер.
Движок Docker – версия клиент-серверного приложения – Community Edition или Enterprise. Первая используется чаще, так как является бесплатной. Вторая – платная, с расширенными возможностями в части поддержки системы и ее безопасности и дополнительных функций по управлению ей.
Клиент Docker (Client) – именно он используется при взаимодействии с программой. При помощи интерфейса командной строки, который называется Docker Command Line Interface, CLI, вы вводите необходимую команду, обращаясь к клиенту Docker и через API она уходит к демону Docker.
Демоном Docker (Daemon) называется сервер, который отвечает за управление контейнерами, их образами, сетью и Volumes. Также он отвечает на запросы клиента Docker, которые ему переадресует Docker API.
Docker REST API – это интерфейс, который применяется в управлении и взаимодействии с Docker Daemon. Для этих процессов используются скрипты или консольные команды.
Volumes (тома) Docker – механизм хранения данных, которые создаются и используются Docker. Представляет собой файловую систему, расположенную на хосте за пределом контейнера. Тома создаются и управляются Docker, а также создать новый том можно через запрос к API.
Реестр Docker (Registry) – удаленная платформа, где хранятся образы. Его можно создать самому или использовать реестры, созданные поставщиками облачных услуг, например, Amazon Web Services или Google Cloud. Самым большим бесплатным реестром Docker, который применяется при работе с ним по умолчанию, является Docker Hub. Из него можно как скачивать нужные вам образы, так и загружать собственные.
Репозиторий Docker – место, где хранится несколько образов с одинаковым именем и тегами-идентификаторами разных версий (обычно это числовое обозначение). Чаще всего в репозитории можно найти один образ в разных версиях, которые обозначаются разными номерами — тегами. В реестре возможно добавлять как отдельные образы, так и целые репозитории.
Сеть Docker (Networking) – механизм, с помощью которого организуется связь между контейнерами, которые при этом могут быть расположены, как на одном, так и на разных хостах.
Сервисы Docker – контейнеры, находящиеся в проде и включающие элементы распределенного приложения. Именно с помощью сервиса можно запустить и сконфигурировать образ с указанием нужных портов, числа реплик. При этом, если вы увеличиваете число сервисов, растут и количество контейнеров, которые выполняют требуемые операции, и затрачиваемые на это ресурсы.
При помощи сервисов происходит также масштабирование контейнеров на несколько демонов и становится возможным использование для этого инструмента оркестрации Docker Swarm. Он преобразует хосты Docker в виде последовательного кластера. Такой подход позволяет повысить производительность, равномерно распределив работы в кластере.
Нельзя не упомянуть кратко и еще один инструмент Docker – Docker Compose, который идет в комплекте с Docker. Он используется, когда требуется запустить приложение со сложной архитектурой из нескольких контейнеров. В yaml-файле прописываются команды, для того чтобы контейнеры запускались и приложение разворачивалось последовательно, как того требует его конфигурация. Кроме того, эту последовательность можно впоследствии использовать снова и снова.
Если вы хотите расширить свое знакомство с Docker практическими навыками и освоить работу с ним — мы разработали по этой технологии практикум Docker by Rebrain.
А еще каждую неделю мы в live режиме решаем кейсы на наших открытых онлайн-практикумах, присоединяйтесь к нашему каналу в Телеграм, вся информация там.