Примечание
Для доступа к этой странице требуется авторизация. Вы можете попробовать войти или изменить каталоги.
Для доступа к этой странице требуется авторизация. Вы можете попробовать изменить каталоги.
Подсказка
Это фрагмент из электронной книги «Архитектура микрослужб .NET для контейнеризованных приложений .NET», доступной в документации .NET или в виде бесплатного скачиваемого PDF-файла, который можно прочитать в автономном режиме.
В этом разделе перечислены термины и определения, с которыми вы должны ознакомиться, прежде чем получить более глубокий доступ к Docker. Дополнительные определения см. в обширном глоссарии , предоставленном Docker.
Образ контейнера: пакет со всеми зависимостями и сведениями, необходимыми для создания контейнера. Образ включает все зависимости (например, фреймворки), а также конфигурацию развертывания и выполнения, используемую средой выполнения контейнера. Обычно изображение является производным от нескольких базовых образов, сложенных поверх друг друга для формирования файловой системы контейнера. Изображение неизменяемо после его создания.
Dockerfile: текстовый файл, содержащий инструкции по созданию образа Docker. Это как пакетный скрипт, первая строка указывает базовый образ для начала, а затем следуйте инструкциям по установке необходимых программ, копирования файлов и т. д., пока не получите рабочую среду.
Сборка: процесс создания образа контейнера на основе данных и контекста, указанных в его Dockerfile, а также дополнительных файлов из папки, где создается образ. Вы можете создавать образы с помощью следующей команды Docker:
docker build
Контейнер: экземпляр образа Docker. Контейнер представляет выполнение одного приложения, процесса или службы. Он состоит из содержимого образа Docker, среды выполнения и стандартного набора инструкций. При масштабировании службы создается несколько экземпляров контейнера из одного образа. Или пакетное задание может создавать несколько контейнеров из одного образа, передавая разные параметры каждому экземпляру.
Тома: предоставляют записываемую файловую систему, которую может использовать контейнер. Поскольку образы имеют доступ только для чтения, а большинству программ необходимо записывать в файловую систему, тома добавляют доступный для записи слой поверх образа контейнера, благодаря чему программы имеют доступ к доступной для записи файловой системе. Программа не знает, что она обращается к многоуровневой файловой системе, это просто файловая система, как обычно. Тома находятся в хост-системе и управляются Docker.
Тег: метка или метка, которую можно применить к изображениям, чтобы можно было определить разные изображения или версии одного изображения (в зависимости от номера версии или целевой среды).
Многоэтапная сборка: это функция, появившаяся в Docker 17.05 и более поздних версиях, которая помогает уменьшить размер окончательных образов. Например, большой базовый образ, содержащий пакет SDK, можно использовать для компиляции и публикации, а затем для размещения приложения можно использовать небольшой базовый образ только для среды выполнения.
Репозиторий (репозиторий): коллекция связанных образов Docker, помеченная тегом, указывающим версию образа. Некоторые репозитории содержат несколько вариантов определенного образа, например изображения, содержащего пакеты SDK (более тяжелые), изображение, содержащее только среды выполнения (светлее) и т. д. Эти варианты можно пометить тегами. Один репозиторий может содержать варианты платформ, например образ Linux и образ Windows.
Реестр: служба, предоставляющая доступ к репозиториям. Реестр по умолчанию для большинства общедоступных образов — Docker Hub (принадлежащий Docker в качестве организации). Реестр обычно содержит репозитории из нескольких команд. У компаний часто есть частные реестры для хранения образов и управления ими. Реестр контейнеров Azure является другим примером.
Многоархитектурное изображение: для многоархитектурного (или мультиплатформенного) — это функция Docker, которая упрощает выбор соответствующего образа на платформе, на которой работает Docker. Например, когда Dockerfile запрашивает базовый образ FROM mcr.microsoft.com/dotnet/sdk:8.0 из реестра, он фактически получает 8.0-nanoserver-ltsc2022, 8.0-nanoserver-1809 или 8.0-bullseye-slim, в зависимости от операционной системы и версии, в которой работает Docker.
Docker Hub: общедоступный реестр для отправки образов и работы с ними. Docker Hub предоставляет размещение образов Docker, общедоступные или частные реестры, триггеры сборки, веб-хуки, а также интеграцию с GitHub и Bitbucket.
Реестр контейнеров Azure: общедоступный ресурс для работы с образами Docker и его компонентами в Azure. Это обеспечивает реестр, близкий к развертываниям в Azure, который обеспечивает контроль доступа, что позволяет использовать группы и разрешения Azure Active Directory.
Доверенный реестр Docker (DTR): служба реестра Docker (из Docker), которая может быть установлена локально, чтобы она находится в центре обработки данных и сети организации. Это удобно для приватных изображений, которые должны управляться в рамках предприятия. Доверенный реестр Docker входит в состав продукта Docker Datacenter.
Docker Desktop: средства разработки для Windows и macOS для создания, запуска и тестирования контейнеров локально. Docker Desktop для Windows предоставляет среды разработки для контейнеров Linux и Windows. Узел Docker Linux в Windows основан на виртуальной машине Hyper-V . Хост для контейнеров Windows основан непосредственно на Windows. Docker Desktop для Mac основан на фреймворке гипервизора Apple и гипервизоре xhyve, которые предоставляют виртуальную машину Linux Docker на macOS. Docker Desktop для Windows и Mac заменяет панель элементов Docker, которая была основана на Oracle VirtualBox.
Создание: средство командной строки и формат файла YAML с метаданными для определения и выполнения многоконтейнерных приложений. Вы определяете одно приложение на основе нескольких образов с одним или несколькими .yml файлами, которые могут переопределять значения в зависимости от среды. После создания определений можно развернуть все многоконтейнерное приложение с помощью одной команды (docker-compose up), которая создает контейнер на образ на узле Docker.
Кластер: коллекция узлов Docker, предоставляемых как если бы это был один виртуальный узел Docker, чтобы приложение может масштабироваться до нескольких экземпляров служб, распределенных по нескольким узлам в кластере. Кластеры Docker можно создавать с помощью Kubernetes, Azure Service Fabric, Docker Swarm и Mesosphere DC/OS.
Orchestrator: инструмент, упрощающий управление кластерами и узлами Docker. Оркестраторы позволяют управлять своими изображениями, контейнерами и узлами с помощью интерфейса командной строки (CLI) или графического пользовательского интерфейса. Вы можете управлять сетью контейнеров, конфигурациями, балансировкой нагрузки, обнаружением служб, высоким уровнем доступности, конфигурацией узла Docker и т. д. Оркестратор отвечает за запуск, распределение, масштабирование и восстановление рабочих нагрузок в группе узлов. Как правило, оркестраторные продукты являются теми же продуктами, которые предоставляют инфраструктуру кластера, такие как Kubernetes и Azure Service Fabric, среди других предложений на рынке.