В ночь на 30 мая 2024 года пользователи сервиса Docker Hub сообщили о прекращении его работы. На сайте появилась заглушка, которая гласит, что блокируются все IP-адреса, связанные с Крымом. При этом сервис недоступен на территории всей России. Владельцы проекта Docker Hub ссылаются на необходимость исполнять санкции США. При этом сервис доступен через VPN, а также появились сайты-зеркала.
Docker Hub — это репозиторий для хранения контейнеров, которые разработчики создают в материнском сервисе Docker. Последний предназначен для разработки, доставки и эксплуатации приложений в средах с поддержкой контейнеризации. В Docker Hub можно сохранить все необходимое для запуска приложений, в том числе код, настройки и зависимости.
Docker и Docker Hub являются опенсорсными проектами, и на них полагались многие разработчики и компании в России. Теперь им необходимо перейти на другие доступные решения. «РБК Тренды» подготовили подборку российских аналогов Docker Hub.
1. Yandex Container Registry
Это сервис для хранения и управления Docker-образами в облаке Yandex Cloud. Его можно использовать в разработке контейнеризованных приложений.
Yandex Container Registry размещает Docker-образы в отказоустойчивом хранилище, а разработчики могут настроить систему автоматизации сборки и выпуска приложений. При размещении контейнеры проходят через сканер уязвимостей. Кроме того, сервис поддерживает автоматическую репликацию данных при редактировании, создании и удалении Docker-образа, чтобы защитить контейнеры от потенциальных сбоев и потери данных. Для старта работы достаточно использовать стандартный интерфейс командной строки Docker, так как сервис совместим с Docker Registry HTTP API V2. Наконец, в Yandex Container Registry доступны контейнеры с операционными системами Linux и Windows, которые можно запускать на локальной или виртуальной машине Compute Cloud.
При использовании сервиса реестры Docker-образов размещаются в тех же дата-центрах, что и облачная инфраструктура, что позволяет избежать расходов на внешний трафик и получить высокую скорость загрузки и скачивания.
Наконец, сервис интегрирован с системой управления доступом Yandex Identity and Access Management, что позволяет разграничивать права пользователей.
2. Cloud.ru Container Apps
Это сервис для разработки и запуска контейнерных приложений от Cloud.ru (ранее — SberCloud). Контейнеры создаются в готовой облачной среде на основе Docker-образов (набора файлов для запуска приложений), загруженных в приватный реестр для хранения Docker-образов Artifact Registry. Сервис поддерживает приложения на любых языках программирования, а контейнеры создаются на основе образов в формате Docker Image Manifest V 2. Экземпляры контейнера создаются и удаляются автоматически в зависимости от нагрузки, а Container Apps поддерживает масштабирование до нуля экземпляров для экономии ресурсов при отсутствии запросов.
Сервис предлагает инструменты автоматизации сборки и публикации, а также развертывания нового контейнера после каждого обновления образа. Поддерживается интерация с GitHub, GitLab, BitBucket, Azure DevOps и другими системами. Кроме того, можно настраивать активные экземпляры контейнера для обработки пиковых нагрузок. Наконец, есть встроенные инструменты мониторинга ресурсов и анализа логов, чтобы выявлять и устранять ошибки при работе приложения в контейнере. Приложения можно публиковать в интернете и вызывать по прямой ссылке.
Сервис запущен в режиме превью и доступен бесплатно.
3. Selectel Container Registry
Это реестр контейнеров для хранения и развертывания Docker-образов. Внутри него можно создать приватный реестр и управлять образами через Docker CLI — загружать, скачивать и удалять их. Образы в реестре хранятся с тройной репликацией для защиты от утери данных. Работать с Container Registry можно как в панели управления, так и через API Container Registry или с помощью инструмента Terraform. С помощью сервиса можно задать настройки образов, чтобы устаревшие удалялись автоматически.
В репозитории можно настраивать типы и роли пользователей, а также лимиты проекта. В одном реестре можно создать несколько репозиториев. Также в сервисе можно хранить и управлять менеджерами пакетов (helm charts).
Внутренний трафик Selectel и весь входящий не тарифицируются, а исходящий до 10 Гб — бесплатный.
4. VK Cloud Containers
Это сервис по управлению кластерами Kubernetes от VK Cloud, в котором можно создавать приватные репозитории для хранения Docker-образов. Он управляет жизненным циклом контейнеров и автоматически масштабируется под изменение нагрузки. Дополнительный сервис (аддон) Docker Registry работает в отказоустойчивой конфигурации. Образы из реестра можно использовать при развертывании сервисов в кластере. Благодаря интеграции с Docker Registry приложения автоматически упаковываются для перемещения в Kubernetes.
Тарификация в Cloud Containers поминутная, она рассчитывается исходя из объема потребления ресурсов.
5. Amvera Cloud
Это российский облачный сервис для развертывания ботов, сайтов и приложений. Он предлагает контейнеры на серверах, объединенных в кластеры, для более простого масштабирования. В Amvera изменения в код можно вносить через обновления в Git-репозиториях или путем обычной загрузки файлов, поэтому настраивать виртуальные машины не требуется. Сервис нативно поддерживает Docker, Java, Python, Node.JS и другие окружения. Также Amvera предлагает сервисы автоматизации развертывания и доставки кода и поддержку API от OpenAI, причем последняя опция — бесплатная для клиентов. Все данные и репозитории хранятся в файловом хранилище в трех экземплярах на разных серверах, чтобы исключить возможность их утери.
Стоимость сервиса рассчитывается с поминутной тарификацией только за работающие проекты. Минимальный тариф за 720 часов работы приложения в месяц составляет 170 руб.
6. Deploy-f
Это российский аналог зарубежного хостинга Heroku с аналогичным функционалом. Сервис предлагает опцию запуска чат-ботов, веб-приложений или других служб из контейнеров Docker, а также Golang и Net Core. Как и Amvera, он поддерживает возможность доставки кода и обновлений через Git.
Стоимость сервиса начинается от 300 руб. в месяц, при этом предусмотрена подневная тарификация. Сервис предлагает пользователям бесплатные домены .deploy-f.com с поддержкой HTTP/2 и SSL-сертификатом.
7. DockerHosting.ru
Это относительно новый российский сервис, который обеспечивает управление Docker-контейнерами. Они хранятся на серверах, которые объединены в кластеры, что обеспечивает простое масштабирование приложений. DockerHosting.ru предлагает микросервисную архитектуру, сервисы сбора и анализа информации, а также панель управления с функциями безопасности и контролем доступа. Кроме того, на сервисе можно развертывать Telegram-ботов в Docker и интегрировать их с ChatGPT.
Стоимость тарифов начинается от 250 руб. для развертывания трех сервисов.