Назад к статьям

Что такое DockerHub

AdminGuide ·
Что такое DockerHub

Docker Hub — это официальный публичный реестр (registry) контейнерных образов от компании Docker. Простыми словами: это штука в которой хранятся те штуки (имиджи), которые нужны для того, чтобы взлетел ваш контейнер. Или можно провести аналогию с гитами, только в гитах хранится код, а в реестрах докера хранятся имиджи докера.

Что даёт Docker Hub:

  1. Хранение и распространение образов — вы пушите (docker push) свой образ в Docker Hub, кто угодно тянет (docker pull) его оттуда.
  2. Официальные образы — Docker Hub содержит тысячи официальных образов популярных проектов: nginxpythonnodeubuntualpinepostgres и т.д. Они поддерживаются Docker Inc. и сообществом.
  3. Автоматическая сборка — можно подключить GitHub/Bitbucket репозиторий, и Docker Hub будет автоматически собирать новый образ при каждом пуше кода.

Ключевые элементы Docker Hub:

  • Репозиторий — место для хранения образов. Может быть публичным (бесплатно) или приватным (часть бесплатно, остальное платно).

  • Теги (tags) — версии образа. Например, nginx:latestnginx:1.25nginx:alpine.

  • Пространства имён:

    • library/ — официальные образы (можно указывать без префикса, просто nginx)

    • username/image — пользовательские образы

    • organization/image — образы организаций

Примеры использования:

bash
# Скачать официальный образ nginx
docker pull nginx:latest

# Собрать свой образ
docker build -t myuser/myapp:v1 .

# Загрузить в Docker Hub
docker push myuser/myapp:v1

# Скачать чужой публичный образ
docker pull myuser/myapp:v1

Альтернативы Docker Hub:

Не смотря на то что в большинстве случаев стартовать проще всего с помощью DockerHub, но достаточно быстро вы захотите независеть от внешнего сервиса и иметь какую-то альтернативу локально, которая при определённой настройке сможет рбаотать даже без интернета.

  • GitLab Container Registry — встроен в GitLab (Self-Hosted CE версию тоже). Имеет ограниченную например в сравнении с Nexus функциональность, но в ситуациях когда на безрыбье и и рак — щука, и нужно просто хранить сбилженные имиджи — вполне себе хороший вариант.
  • Harbor — self-hosted реестр, хорошо подходит для имиджей Docker, есть встроенное сканирование имиджей на уязвимости, хорошо подходит когда нужно работать только как реестр\прокси для имиджей Docker.
  • Nexus — универсальный менеджер артефактов с поддержкой Docker. Мультитул в сфере хранения артефактов (штуки которые создаются в процессе работы, например сбилженный имидж с вашей приложухой — это артефакт). Простой как палка, может работать не только как Docker Registry, но и проксировать apt/rpm пакеты (и многое другое), имеет CE версию. Наш выбор!