Visitors have accessed this post 5384 times.

Терминология в Docker

0
0
5384
8 июля 2020 15:53
Автор: Rebrain Me
Docker

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 режиме решаем кейсы на наших открытых онлайн-практикумах, присоединяйтесь к нашему каналу в Телеграм, вся информация там.

Комментарии (3)
Введено символов из возможных
Не отвечать

Вам также может понравится

NMap — часть 2
array(1) { [0]=> object(WP_Term)#11546 (16) { ["term_id"]=> int(6) ["name"]=> string(5) "Linux" ["slug"]=> string(5) "linux" ["term_group"]=> int(0) ["term_taxonomy_id"]=> int(6) ["taxonomy"]=> string(8) "category" ["description"]=> string(0) "" ["parent"]=> int(0) ["count"]=> int(28) ["filter"]=> string(3) "raw" ["cat_ID"]=> int(6) ["category_count"]=> int(28) ["category_description"]=> string(0) "" ["cat_name"]=> string(5) "Linux" ["category_nicename"]=> string(5) "linux" ["category_parent"]=> int(0) } } Linux

Часть 2
Автор — Сергей Попов

1 часть статьи
Сканирование портов
Рассказать вам шутку про UDP?
Только она до вас не дойдет.
Изначально Nmap был эффективным средством сканирования портов, и, несмотря на развитие прочего функционала, он им и остается.

Большинство типов сканирования доступны только привилегированным пользователям, потому...

2
0
11 сентября 2020
Как я выбирал оболочку командной строки
array(1) { [0]=> object(WP_Term)#976 (16) { ["term_id"]=> int(6) ["name"]=> string(5) "Linux" ["slug"]=> string(5) "linux" ["term_group"]=> int(0) ["term_taxonomy_id"]=> int(6) ["taxonomy"]=> string(8) "category" ["description"]=> string(0) "" ["parent"]=> int(0) ["count"]=> int(28) ["filter"]=> string(3) "raw" ["cat_ID"]=> int(6) ["category_count"]=> int(28) ["category_description"]=> string(0) "" ["cat_name"]=> string(5) "Linux" ["category_nicename"]=> string(5) "linux" ["category_parent"]=> int(0) } } Linux

Автор - Юрий Власов

Оболочка командной строки используется для любых манипуляций с сервером. Настраивать сервера можно по-разному. Важно, чтобы это было комфортно для администратора, а вот главное, чтобы это было эффективно по затратам и времени, и сил. Командная строка может быть красочной, стрелочками разных цветов показывать путь к текущей...

4
0
2 октября 2020
Углубленная работа с nixops — настраиваем кластер mariadb galera
array(1) { [0]=> object(WP_Term)#11546 (16) { ["term_id"]=> int(6) ["name"]=> string(5) "Linux" ["slug"]=> string(5) "linux" ["term_group"]=> int(0) ["term_taxonomy_id"]=> int(6) ["taxonomy"]=> string(8) "category" ["description"]=> string(0) "" ["parent"]=> int(0) ["count"]=> int(28) ["filter"]=> string(3) "raw" ["cat_ID"]=> int(6) ["category_count"]=> int(28) ["category_description"]=> string(0) "" ["cat_name"]=> string(5) "Linux" ["category_nicename"]=> string(5) "linux" ["category_parent"]=> int(0) } } Linux

Автор - Юрий Изоркин

В предыдущей статье мы настроили управление одной удаленной системой с помощью утилиты nixops. Давайте теперь попробуем более сложный вариант — поднимем еще 3 удаленные системы и настроим кластер MariaDB Galera.
Установка удаленных систем
Устанавливаем на 3 удаленных системах OC NixOS с такой конфигурацией (используется...

4
0
15 января 2021