Поделиться через


Контейнеры, образы и реестры Docker

Подсказка

Это фрагмент из электронной книги «Архитектура микрослужб .NET для контейнеризованных приложений .NET», доступной в документации .NET или в виде бесплатного скачиваемого PDF-файла, который можно прочитать в автономном режиме.

Архитектура микросервисов .NET для приложений .NET в контейнерах, миниатюра обложки электронной книги.

При использовании Docker разработчик создает приложение или службу и упаковает его и его зависимости в образ контейнера. Образ — это статическое представление приложения или службы, а также их конфигурации и зависимостей.

Чтобы запустить приложение или службу, образ приложения создается для создания контейнера, который будет запущен на узле Docker. Контейнеры изначально тестируются в среде разработки или пк.

Разработчики должны хранить образы в реестре, который выступает в качестве библиотеки образов и необходим при развертывании в рабочих оркестраторах. Docker поддерживает общедоступный реестр через Docker Hub; другие поставщики предоставляют реестры для различных коллекций образов, включая Реестр контейнеров Azure. Кроме того, предприятия могут иметь локальный реестр для собственных образов Docker.

На рисунке 2-4 показано, как образы и реестры в Docker связаны с другими компонентами. В нем также показаны различные варианты реестра от поставщиков.

Схема, показывающая базовую таксономию в Docker.

Рис. 2-4. Таксономия терминов и понятий Docker

Реестр похож на книжную полку, в которой хранятся изображения и доступны для создания контейнеров для запуска служб или веб-приложений. Есть частные реестры Docker в локальной среде и в общедоступном облаке. Docker Hub — это общедоступный реестр, поддерживаемый Docker, наряду с доверенным реестром Docker корпоративного уровня, Azure предлагает реестр контейнеров Azure. AWS, Google и другие пользователи также имеют реестры контейнеров.

Размещение образов в реестре позволяет хранить статические и неизменяемые биты приложений, включая все их зависимости на уровне платформы. Эти образы можно версионировать и развертывать в нескольких средах, обеспечивая тем самым согласованную единицу развертывания.

Реестры частных образов, размещенные локально или в облаке, рекомендуется использовать в следующих случаях:

  • Ваши изображения не должны быть общедоступными из-за конфиденциальности.

  • Требуется минимальная задержка сети между образами и выбранной средой развертывания. Например, если ваша рабочая среда — это облако Azure, вероятно, требуется хранить образы в реестре контейнеров Azure , чтобы задержка в сети была минимальной. Аналогичным образом, если ваша рабочая среда находится в локальной среде, возможно, потребуется использовать локальный доверенный реестр Docker в той же локальной сети.