92
Docker Hub — это официальный публичный реестр (registry) контейнерных образов от компании Docker. Простыми словами: это штука в которой хранятся те штуки (имиджи), которые нужны для того, чтобы взлетел ваш контейнер. Или можно провести аналогию с гитами, только в гитах хранится код, а в реестрах докера хранятся имиджи докера.
Что даёт Docker Hub:
- Хранение и распространение образов — вы пушите (
docker push) свой образ в Docker Hub, кто угодно тянет (docker pull) его оттуда. - Официальные образы — Docker Hub содержит тысячи официальных образов популярных проектов:
nginx,python,node,ubuntu,alpine,postgresи т.д. Они поддерживаются Docker Inc. и сообществом. - Автоматическая сборка — можно подключить GitHub/Bitbucket репозиторий, и Docker Hub будет автоматически собирать новый образ при каждом пуше кода.
Ключевые элементы Docker Hub:
- Репозиторий — место для хранения образов. Может быть публичным (бесплатно) или приватным (часть бесплатно, остальное платно).
- Теги (tags) — версии образа. Например,
nginx:latest,nginx:1.25,nginx:alpine. - Пространства имён:
-
library/— официальные образы (можно указывать без префикса, простоnginx) -
username/image— пользовательские образы -
organization/image— образы организаций
-
Примеры использования:
# Скачать официальный образ 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 версию. Наш выбор!

