Docker Hub: что это, как работать с облачной платформой

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

В этой статье мы расскажем об основных функциях Docker Hub и как им пользоваться.

docker hub логотип

Источник

Что такое Docker Hub

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

CI dockerhub схема

Для взаимодействия с Docker Hub можно использовать Docker CLI (docker pull, docker push, docker search) или веб-интерфейс и API.

docker hub

Что такое Docker Registry

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

Docker Hub выступает в качестве публичного Docker Registry по умолчанию и находится под управлением Docker, Inc. Однако многие организации имеют собственные приватные или публичные реестры (например, Quay от RedHat, GHCR от GitHub или Google Container Registry) для хранения образов и обеспечения безопасности.

Таким образом, Docker Registry – это полезная для хранения и обмена docker-образами система, на которой основан публичный сервис Docker Hub.

Разберем возможности Докер Хаб и его особенности.

Чем полезен Docker Hub

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

К основным преимуществам использования Docker Hub в процессе разработки относят:

  • Поиск контента. Пользователи получают доступ к огромной библиотеке готовых образов, включающих в себя операционные системы, рантаймы для языков программирования, базы данных (например, Postgres или MySQL) и официальные сборки приложений от вендоров.
  • Контроль версий. Репозитории поддерживают тегирование, что дает возможность точно управлять версиями образов и обеспечивает воспроизводимость в различных окружениях.
  • Коллаборация. Команды используют приватные репозитории для безопасного распространения проприетарных образов и управления доступом к процессу их сборки и деплоя.
  • Автоматизация. Интеграция с системами контроля версий и веб-хуки позволяют пользователям создавать конвейеры CI/CD для автоматической сборки, тестирования и отправки образов при изменении исходного кода.

Docker Hub отлично подходит для хостинга проектов Open Source и популярен во всём мире – по статистике, совершено более 300 млрд загрузок Docker Hub, а общее количество учетных записей превышает 7,3 млн.

Docker Hub позволяет быстро находить, хранить и распространять готовые образы, значительно упрощая развертывание и обновление приложений, и поэтому пригодится каждому, кто использует для своих проектов контейнеризацию – одно из самых востребованных направлений в ИТ-отрасли.

Контейнерная виртуализация — одно из наиболее перспективных и динамично развивающихся направлений на рынке.
Дмитрий Сорокин, технический директор разработчика инфраструктурного ПО “Базис”

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

Полезные образы

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

Среди популярных образов:

  • nginx – официальная сборка nginx, высокопроизводительного реверс-прокси и HTTP-сервера. Образ регулярно обновляется, его размер – 57 МБ.
  • ubuntu – образ Ubuntu, дистрибутива Linux на основе Debian, используется в качестве основы для сборки образов приложений, поддерживается компанией Canonical.
  • mysql – реляционная система управления базами данных с открытым исходным кодом.
  • postgres – объектно-реляционная база данных с открытым исходным кодом.
  • node – платформа для запуска приложений на основе JavaScript.
  • redis – база данных "ключ:значение", зачастую используется для кэширования контента или в качестве очереди.
  • alpine – минималистичный дистрибутив Linux, используется в качестве основы для "уменьшенных" образов контейнеров.
  • mongo – образ MongoDB, NoSQL базы данных с хранением информации в формате документов.
  • python – образ для запуска Python-приложений.
  • php – рантайм для запуска приложений на основе PHP.

Эти и другие образы Docker Hub есть на официальном сайте.

Теперь, когда мы разобрали, что такое Docker Hub и Docker Registry, и перечислили основные полезные образы, перейдем к практике – расскажем, как работать с Docker Hub.

Работа с Docker Hub

В большинстве случаев пользователи взаимодействуют с Docker Hub посредством Docker CLI для поиска, загрузки и управления образами.

Поиск образов на Docker Hub

Найти нужный публичный образ в Docker Hub можно с помощью команды:

docker search <искомое>

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

docker search wordpress

В выводе команды будут показаны связанные с введенным ключевым словом репозитории, а также информация о счетчике звезд и о том, является ли репозиторий официальным:

docker search

Как создать репозиторий на Docker Hub

Репозиторий представляет собой место для хранения образов на Docker Hub и может быть как публичным, так и приватным. Для создания репозитория перейдите на сайт Docker Hub, после чего авторизуйтесь или создайте аккаунт. Затем выберите пункт "Create a Repository":

create a repository

Далее в появившейся форме введите название репозитория и выберите его тип – приватный или публичный. Публичные образы будут доступны всем и будут показаны в поисковой выдаче Docker Hub. Название репозитория должно совпадать с названием загружаемого впоследствии образа. Также при необходимости укажите короткое описание репозитория:

repository private

Как загрузить образ в репозиторий на Docker Hub

Для загрузки образа в репозиторий потребуется авторизоваться с помощью команды docker login:

docker login

USING WEB-BASED LOGIN

i Info → To sign in with credentials on the command line, use 'docker login -u <username>'


Your one-time device confirmation code is: GVFT-TDSS
Press ENTER to open your browser or submit your device code here: https://login.docker.com/activate

Waiting for authentication in the browser…

Перейдите по ссылке https://login.docker.com/activate и введите код подтверждения, указанный в выводе вашей команды.

login docker

Убедитесь, что код на сайте совпадает с указанным в выводе команды в терминале, после чего подтвердите вход:

docker device confirmation

Если всё было выполнено верно, появится сообщение об успешном входе – как на сайте:

docker authorization

Так и в терминале:

docker login

USING WEB-BASED LOGIN

i Info → To sign in with credentials on the command line, use 'docker login -u <username>'


Your one-time device confirmation code is: PCLP-LTCP
Press ENTER to open your browser or submit your device code here: https://login.docker.com/activate

Waiting for authentication in the browser…

WARNING! Your credentials are stored unencrypted in '/home/pinklife/.docker/config.json'.
Configure a credential helper to remove this warning. See
https://docs.docker.com/go/credential-store/

Login Succeeded

После авторизации вы сможете загрузить образ в репозиторий командой:

docker push имя_пользователя/название_репозитория:тег
Обратите внимание!
Загружаемый образ должен существовать на машине, с которой осуществляется загрузка, и иметь соответствующее название и тег.

Как скачать и запустить образ с Docker Hub

Для загрузки образа используется команда:

docker pull <image_name>:<tag>

Например, чтобы загрузить образ Ubuntu с тегом версии 24.04 используйте команду:

docker pull ubuntu:24.04

Для создания и запуска контейнера используется команда docker run, например:

docker run -it ubuntu:24.04 /bin/bash

Заключение

За 2025 год использование контейнеров в ИТ-отрасли выросло до 92% по сравнению с 2024 годом. При этом в России объем рынка коммерческих платформ контейнеризации по итогам 2024 года достиг 5,7 млрд рублей и, по мнению экспертов, спрос на такие решения растет.

По нашим наблюдениям, сегодня около 50–70% систем в ИТ-инфраструктуре российских заказчиков до сих пор имеют монолитную архитектуру, но тенденция очевидна: всё больше компаний двигаются в сторону микросервисов и контейнеров.
Александр Титов, генеральный директор компании “Флант”

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

Если возникнут вопросы, напишите нам, пожалуйста, тикет из панели управления аккаунта (раздел “Помощь и поддержка”), а если вы захотите обсудить эту статью, настройки Docker или наши продукты с коллегами по цеху и сотрудниками Beget – ждем вас в нашем сообществе в Telegram.

0
196