Docker: решения для хранения образов
О технологиях

Docker: решения для хранения образов

954
12 минут

На сегодняшний день ни одно решение, построенное на основе или просто использующее Docker, не обходится без хранилища Docker образов (images). Такие хранилища делятся на публично доступные и приватные.

Публично доступные хранилища

Quay.io

docker-registry-quay-enterprise.png
Quay.io — это хранилище образов Docker от CoreOS, который продвигает себя как имеющие «продвинутые триггеры для сборки», «расширенные возможности по управлению привилегиями для команды» и «безопасное хранилище». В настоящий момент из публично доступных решений Quay является наиболее дружественным для использования Enterprise компаниями.

Quay поддерживает любой сервер git, а также позволяет легко создавать сложные рабочие процессы, например, отображение названий веток git в теги Docker. Таким образом, когда вы делаете коммит вашего кода, правильно протегированный Docker образ будет создан автоматически.

Quay предоставляется как публичное решение или же как частная инсталляция. Публичное решение предлагает неограниченное количество бесплатных публичных репозиториев, за приватные репозитории вашей организации придется заплатить.

Docker Hub

docker-registry-docker-hub.png

Docker Hub является собственным предложением компании Docker. Как и у Quay он предлагает неограниченное количество бесплатных публичных репозиториев и не взимает плату за хранение или пропускную способность. Если вам нужны частные репозитории, они оплачиваются на основе нужного вам количества и количества параллельных сборок. Docker Hub не предлагает возможности гранулярного управления полномочиями, как это сделано у Quay, что может быть проблемой для большего количества Enterprise компаний. Docker Hub также имеет более ограниченную интеграцию git, требуя, чтобы ваш код жил на GitHub или Bitbucket, если вы хотите воспользоваться автоматизированной сборкой. Стоит отметить, что Docker Hub — это основной реестр используемый вами, когда вы выполняете команду docker push или docker pull.

Внедряем и поддерживаем Kubernetes/DevOps
Развертываем и сопровождаем инфраструктуру для бизнес-приложений на базе микросервисов и контейнеров

AWS EC2 Container Registry (ECR)

docker-registry-aws-ecr.jpg

AWS EC2 Container Registry (ECR) — это относительно новый сервис от Amazon AWS, использовать который имеет смысл только в том случае, если вы уже используете или собираетесь использовать какие-либо другие сервисы от Amazon AWS, например, Elastic Container Service. ECR может быть использован как любое другое хранилище образов Docker, но максимальную пользу из него можно извлечь только используя его совместно с другими продуктами Amazon AWS. Как и большинство других сервисов от AWS, ECR также позволяет очень гибко регулировать уровень доступа и привилегии.

Одна из наиболее важных особенностей ECR в том, что его ценовая политика сильно отличается от Quay и Docker Hub. Вместо того, чтобы брать оплату за количество приватных репозиториев, это решение оплачивается строго по объему занятого стораджа и уровня утилизации сети.

Google Container Registry

docker-registry-gcr.png

Google Container Registry — этот репозиторий очень похож на Amazon ECR, только он тесно интегрирован в инфраструктуру облачных сервисов Google. Точно так же его имеет смысл использовать только если часть вашей инфраструктуры будет использовать облачные услуги Google, например, Kubernates.

Ценообразование также похоже на ECR, т.е. вы платите только за объемы хранимых Docker образов и исходящий сетевой трафик. У данного решения как и у всего облака Google приоритет прежде всего на безопасность, поэтому все пока что не очень удобно, зато очень и очень безопасно. Если вам нужна возможность автоматизировать ваши процессы разработки, тестирования и релизов, скорее всего вам пока не сюда.

Решения для организации частных приватных репозиториев

Docker Registry 2.0

Docker Registry 2.0 — Открытая версия репозитория, который использует Docker для организации своего Docker Hub. Документация на него более, чем исчерпывающая. Возможно все, но это «все» надо настраивать: отказоустойчивость, аутентификацию из правильного источника и само собой управление пользователями. Никакого Web-интерфейса из коробки. Выбирать это решение стоит только если вы готовы потратить какое-то значительное количество времени на «допиливание» этого решения. В противном случае, у Docker можно купить цельное решение для построения контейнерной инфраструктуры Docker Datacenter.

Atomic Registry (RedHat)

docker-registry-atomic.png

Atomic Registry (RedHat) – Открытая версия репозитория от RedHat, выполненная на базе одного из проектов OpenShift. Распространяется в виде образов виртуальных серверов, которые можно скачать и запустить в любом Облаке, среде виртуализации или физическом железе. Разработчики хвалят это решение за то, что оно изначально спроектировано для кластеризации и отказоустойчивой работы, красивый Web-интерфейс, а также поддержку SSO и RBAC, что позволяет встроить этот репозиторий в собственную инфраструктуру. Документация достаточная, но далеко не исчерпывающая. Запустив ВМ из образа с этим решением, очень легко понять насколько оно будет вам полезно. На основной странице проекта есть 2 видео, показывающие как поставить и как начать использовать это решение.

Harbor

docker-registry-harbor.jpg
Harbor — еще один открытый репозиторий, сделавший ставку на Enterprise компании, реализовав RBAC, репликацию образов между узлами кластера для лучшей балансировки нагрузки, поддержку ADLDAP, аудитный журнал операций, красивый Web-интерфейс, переведенный на несколько языков, включая русский, REST API и удобный механизм развертывания (виртуальная машина для vSphere в формате OVA).

Portus (Suse)

docker-registry-portus.png
Portus (Suse) — Открытая версия репозитория от Suse. Чуть менее выдающийся Web-интерфейс, чем у предшественников, все те же реализованные RBAC, интеграция с LDAP, аудит операций, тегирование репозиториев, возможность включить пользователям возможность самостоятельной регистрации с последующей модерацией. Это решение очень простое и понятное.

Sonatype Nexus Repository Manager 3.0 OSS

docker-registry-nexus.png
Sonatype Nexus Repository Manager 3.0 OSS — Еще один интересный репозиторий, который я добавляю в этот список уже после того, как статья была опубликована. Это решение позволяет создавать не только репозитории для хранения образов Docker, но в добавок поддерживает и позволяет вам создавать репозитории bower, maven2, npm, nuget, pipi и rubygems. Помимо всего прочего это решение может быть интегрировано с LDAP, позволяет очень гибко разграничивать права доступа пользователей к различным репозиториям, а всю настройку можно легко выполнить в удобном Web-интерфе. Решение абсолютно бесплатное.

Quay.io Enterprise

Quay.io Enterprise — Частная инсталляция Quay для установки на площадке и оборудовании конечного заказчика характеризуется возможностью настройки отказоустойчивого режима работы всех компонентов, входящих в состав решения, возможностью организации гео-репликациии образов Docker между датацентрами, возможностью строить процесс непрерывной интеграции, возможностью подключать сканер безопасности образов, например, Clair, упоминавшийся в статье Docker: проверка контейнеров на безопасность, а также возможность использования LDAP в качестве сторонней базы учетных записей пользователей. Полный список возможностей можно посмотреть тут.

Artifactory

Artifactory — Наверное, самое странное и дорогое решение для хранения образов Docker. Не смотря на то, что это решение можно использовать как SaaS, большинство известных мне компаний успешно используют этот продукт все же в виде отдельной частной инсталляции. Вообще говоря, изначальное назначение этого программного продукта было далеко не хранение образов Docker, однако, с какого-то момента «теперь ваш бинарный репозиторий для хранения артефактов разработки еще и Docker образы хранить умеет».

15 ноября 2022
OpenShift остался без поддержки – как решить проблему российским клиентам
Интерес к семейству ПО для контейнеризации OpenShift был довольно высоким в корпоративном сегменте в прежние годы. По данным мониторинговой службы Datadog, только за прошлый год во всем мире количество пользователей платформ от RedHat увеличилось на 28%. Весной IBM объявил об уходе из России и прекращении поддержки всех программных продуктов для текущих клиентов. Разберемся, насколько критичной оказалась данная ситуация для заказчиков, и какие варианты действий существуют, чтобы минимизировать возможные риски отключения от сервиса.
0 минут
523
25 февраля 2021
Свидетели DevOps: мифы и байки про девопсов и тех, кто их нанимает
Те, кто решил стать девопсом, видят в этой профессии заманчивые перспективы. Это новый уровень мышления, это творчество и возможность создавать, это безграничные просторы для самосовершенствования. Не секрет также, что девопсам хорошо платят. Вместе с тем, вокруг понятия DevOps сформировался некий культ, овеянный мифами и легендами.
0 минут
718
4 декабря 2020
Дайджест обновлений К2 Облака осень 2020 г.
За осень в К2 Облаке многое изменилось. Мы активно писали код и не успевали сообщать обо всех переменах. Постараемся исправиться и информировать вас ASAP, чтобы вы могли сразу же использовать новые фичи.
1 минута
216
scrollup