Гид по технологиям

Как загрузить образ в Docker Registry

5 min read DevOps Обновлено 29 Mar 2026
Как загрузить образ в Docker Registry
Как загрузить образ в Docker Registry

Оригами-лодочка из оранжевой бумаги

Что такое Docker Registry?

Docker Registry — это серверная система для хранения и распространения Docker‑образов. Образы там хранятся в репозиториях. Один образ может иметь несколько версий, каждая из которых определяется тегом.

Определение: репозиторий — это набор образов одного приложения или сервиса, обычно с разными тегами (версиями).

Зачем использовать Docker Registry?

Реестр позволяет:

  • хранить копию вашего приложения в виде образа;
  • делиться образами с коллегами и CI/CD;
  • управлять доступом (публичные и приватные репозитории);
  • интегрировать автоматические сборки и систему контроля версий.

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

Создание аккаунта в Docker Hub

  1. Перейдите на сайт Docker Hub и зарегистрируйте аккаунт.

Страница регистрации Docker Hub

  1. После входа вы увидите панель своего аккаунта.

Интерфейс нового аккаунта Docker

  1. Создайте новый репозиторий: нажмите “Create repository”, укажите имя и описание, выберите публичный или приватный режим.

Форма создания репозитория на Docker Hub

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

Шаг 1 — Выбор и загрузка (pull) образа для теста

Чтобы проверить процесс, скачайте официальный образ Ubuntu из Docker Hub:

docker pull ubuntu

Ubuntu — официальный образ. Далее мы подготовим его и запушим в ваш репозиторий.

Шаг 2 — Подготовка локального образа: тегирование

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

Инструкция в репозитории о том, как запушить образ

Синтаксис тега выглядит так: <имяюзера>/<имярепозитория>:<тег>

Пример: переименуем локальный образ ubuntu:latest в образ для репозитория sandra35/testrepo:latest

docker tag ubuntu:latest sandra35/testrepo:latest

Проверьте локальные образы командой:

docker images

Вы увидите строку с именем sandra35/testrepo и тегом latest.

Шаг 3 — Отправка (push) образа в реестр

Затем выполните команду push:

docker push sandra35/testrepo:latest

При успешной отправке вы увидите прогресс и подтверждение загрузки.

Успешный push в реестр Docker

Обновите страницу репозитория в браузере — образ появится в списке.

Изображение, подтверждающее успешную загрузку образа в Docker Hub

Поздравляем — образ размещён в Docker Registry. Реестр хранит образ до удаления. Размер приложения влияет на объём образа и время загрузки.

Частые ошибки и как их исправить

  • Ошибка: access denied / unauthorized

    • Причина: вы не вошли в Docker Hub или не имеете прав на репозиторий.
    • Решение: выполните docker login и используйте правильное имя пользователя в теге.
  • Ошибка: repository does not exist

    • Причина: репозиторий ещё не создан или опечатка в имени.
    • Решение: создайте репозиторий в Docker Hub или проверьте регистр и синтаксис имени.
  • Ошибка: manifest for : not found

    • Причина: локальный образ с указанным тегом отсутствует.
    • Решение: проверьте docker images и корректно выполните docker tag.

Совет: используйте короткие и понятные теги, например v1.0, latest, или семантические теги вроде 1.2.3.

Мини‑методика: быстрая проверка перед push

  1. docker login — аутентификация.
  2. docker images — убедиться, что образ есть локально.
  3. docker tag localname username/repo:tag — переименование.
  4. docker push username/repo:tag — отправка.
  5. Обновить страницу репозитория в браузере.

Когда этот подход не подходит

  • Вам нужен приватный внутрикорпоративный реестр с интеграцией LDAP/AD — тогда рассмотрите запуск собственного Registry или использование сервисов типа GitLab Container Registry, Harbor или частного Nexus.
  • Нужно хранить очень большие образы с тонкой политикой слоёв — возможны ограничения хранителя (политики тарифов, квоты).

Альтернативы и сравнение (кратко)

  • Docker Hub — простой старт, публичные образы, интеграции, удобный UI.
  • GitHub Container Registry — удобно для репозиториев кода и приватных пакетов.
  • GitLab Container Registry — хорошая интеграция с CI/CD GitLab.
  • Harbor — корпоративный реестр с политиками безопасности и репликацией.

Выбор зависит от требований к безопасности, интеграции и стоимости.

Критерии приёмки

  • Образ доступен в нужном репозитории и имеет корректный тег.
  • Локальный образ совпадает с загруженным (проверить size/digest).
  • Права доступа настроены: публичный или приватный по задаче.
  • CI/CD может подтянуть образ по заданному тегу.

Рекомендации по безопасности

  • Не храните секреты или конфигурационные файлы с паролями внутри образа.
  • Используйте приватные репозитории для конфиденциальных приложений.
  • Настройте сканирование уязвимостей и подписывайте образы, если это возможно.

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

Короткий чеклист ролям

  • Разработчик:

    • Собрать образ локально.
    • Протестировать контейнер.
    • Тегировать и отправить образ в репозиторий.
  • DevOps / Релиз‑менеджер:

    • Создать/настроить репозиторий.
    • Настроить CI/CD для автоматической сборки и push.
    • Следить за квотами и политиками доступа.
  • Администратор безопасности:

    • Включить сканирование образов.
    • Настроить RBAC и аудит.

FAQ

Как войти в Docker Hub из командной строки?

Выполните:

docker login

Далее введите имя пользователя и пароль или используйте токен доступа.

Могу ли я удалить образ из реестра?

Да. В веб‑интерфейсе Docker Hub есть опция удаления тега/образа. Учтите, что удаление может быть необратимым и затронет зависимости.

Можно ли автоматически отправлять образы из CI/CD?

Да. Настройте шаг в конвейере, который выполняет docker build, docker tag и docker push. Убедитесь, что CI хранит учётные данные безопасно (секреты).

Итог

Вы научились: создавать аккаунт и репозиторий в Docker Hub, тегировать локальный образ и отправлять его в реестр. Это базовый поток при работе с контейнерами и CI/CD. Для корпоративных потребностей рассмотрите приватные реестры с расширенными политиками безопасности.

Поделиться: X/Twitter Facebook LinkedIn Telegram
Автор
Редакция

Похожие материалы

Настроить CDN для WordPress без потери SEO
WordPress

Настроить CDN для WordPress без потери SEO

Удалённая работа: проблемы и практические решения
Удалённая работа

Удалённая работа: проблемы и практические решения

Блокнот падает в Windows — как исправить
Windows

Блокнот падает в Windows — как исправить

Как подписать документ на iPhone без приложений
Мобильные советы

Как подписать документ на iPhone без приложений

Факториал через рекурсию — объяснение и примеры
Алгоритмы

Факториал через рекурсию — объяснение и примеры

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

Оптимизация браузера для продуктивной работы