Главная/Разработка/Docker registry

Self hosted Docker registry на своём сервере

Self hosted Docker registry поднимается одним контейнером registry:3 на порту 5000, но без пароля, HTTPS и очистки это только склад слоёв. Решите заранее, нужен ли вам такой склад, готовый Harbor или управляемый реестр контейнеров провайдера: у них разный объём обслуживания.

4 мин чтенияДанные проверены 16 октября 2026

Ответ за 30 секунд

Один контейнер registry:3 с паролем и HTTPS подходит одной команде. Для ролей и сканирования берите Harbor, а если сервер обслуживать некому, облачный реестр от 80 ₽ в месяц. Без HTTPS и пароля свой реестр открыт всему интернету: сначала защита, потом образы.

Хранилище образов от 5 ГБ за 80 ₽ в месяц на 14 октября 2026, трафик до Kubernetes бесплатный.

Сколько стоит облачный реестр вместо своего Docker registry

01 · 1 мин

Три способа завести свой Docker registry#

registry:3HarborОблачный реестр
Что этоМинимальный сервер хранения образовРеестр с интерфейсом, ролями и сканеромГотовый сервис провайдера
ИнтерфейсНет, нужен отдельный проектЕстьПанель управления
Права доступаОбщий файл htpasswdПроекты, роли, роботы для CIУчётные данные сервиса
СканированиеНетTrivyСмотрите условия сервиса
ОбслуживаниеСертификаты, диск, очисткаТо же и обновления набора контейнеровНе требуется

В старых руководствах часто встречается тег registry:2, в актуальной документации проекта Distribution указан registry:3, его и берите для новой установки. Более тяжёлый вариант описан на странице установка Harbor.

02 · 1 мин

Как поднять registry:3 на VPS в Docker#

  1. Поставьте Docker с плагином Compose. Для реестра хватает самой скромной конфигурации, место нужно под слои образов.
  2. Создайте файл паролей. Реестр принимает в htpasswd только записи bcrypt, поэтому ключ -B обязателен.
  3. Запустите контейнер по compose-файлу ниже. Порт 5000 открыт только на локальном адресе, снаружи реестр увидят через прокси.
  4. Проверьте с другого компьютера: docker login registry.example.com, затем docker push.
mkdir -p auth data
docker run --rm --entrypoint htpasswd httpd:2 -Bbn user ПАРОЛЬ > auth/htpasswd
services:
  registry:
    image: registry:3
    restart: always
    ports:
      - '127.0.0.1:5000:5000'
    environment:
      REGISTRY_AUTH: htpasswd
      REGISTRY_AUTH_HTPASSWD_REALM: Registry Realm
      REGISTRY_AUTH_HTPASSWD_PATH: /auth/htpasswd
      REGISTRY_STORAGE_DELETE_ENABLED: 'true'
    volumes:
      - ./data:/var/lib/registry
      - ./auth:/auth

Данные образов лежат в /var/lib/registry. Если хочется поставить готовый образ реестра без консоли, он есть и в маркетплейсе Таймвеб Клауд: на 14 октября 2026 его выбрали 105 раз.

03 · 1 мин

HTTPS и пароль для вашего Docker registry#

Docker-клиент не отправит образы в реестр по голому HTTP, пока вы не внесёте адрес в список «небезопасных». Правильнее поставить перед реестром обратный прокси с настоящим сертификатом. В Caddy это три строки, сертификат он выпускает сам:

registry.example.com {
    reverse_proxy 127.0.0.1:5000
}

Если вы уже работаете с Nginx, ограничение размера запроса надо снять, иначе большие слои оборвутся: Nginx. Для Kubernetes доступ к приватному реестру задают секретом imagePullSecrets, подробности в разборе Kubernetes.

04 · 1 мин

Интерфейс и очистка места в своём Docker registry#

У registry:3 нет веб-страницы со списком образов. Если нужен интерфейс, ставят отдельный проект, например Joxit docker-registry-ui, и разрешают ему доступ в настройках реестра. Альтернатива без лишней сборки: Harbor, где интерфейс встроен.

Удалённый образ не освобождает диск

Параметр REGISTRY_STORAGE_DELETE_ENABLED разрешает удалять манифесты, но слои остаются на диске, пока не запущена сборка мусора (garbage-collect). Команду и путь к конфигурации возьмите со страницы Garbage collection в документации, запускайте её при остановленной записи и после копии данных.

Копировать нужно каталог данных и файл паролей: порядок хранения копий в разборе сервер для бэкапов.

Инструмент · 1 мин

Сколько стоит облачный реестр вместо своего Docker registry#

Управляемый реестр контейнеров Таймвеб Клауд оплачивается по объёму хранилища. Цены на 14 октября 2026:

ОбъёмЦена в месяц
5 ГБ80 ₽
10 ГБ120 ₽
25 ГБ180 ₽
50 ГБ260 ₽
75 ГБ320 ₽
100 ГБ400 ₽

Трафик до Kubernetes провайдера бесплатный. Свой реестр на сервере MSK Ultra 30 (2 ГБ памяти, 30 ГБ диска, 3 000 ₽ в месяц) даёт больше свободы, но сертификаты, диск и очистку ведёте вы.

Какой реестр образов выбрать

Три ответа, и подсказка назовёт подходящий вариант

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

06 · 1 мин

Вопросы о своём Docker registry#

Чем self hosted Docker registry отличается от Harbor?

Реестр registry:3 только принимает и отдаёт образы, у него нет интерфейса и ролей. Harbor добавляет проекты, роли, сканирование Trivy, репликацию и очистку, но требует сервер от 4 ГБ памяти.

Как защитить свой Docker registry паролем?

Создать файл htpasswd с записями bcrypt (ключ -B), подключить его переменными REGISTRY_AUTH_HTPASSWD_PATH и REGISTRY_AUTH_HTPASSWD_REALM и вынести реестр за HTTPS-прокси. Вход потом идёт командой docker login.

Есть ли у registry:3 веб-интерфейс?

Нет. Для списка образов ставят отдельный проект с интерфейсом либо берут Harbor, в котором интерфейс уже есть.

Сколько стоит облачный реестр контейнеров вместо своего?

У Таймвеб Клауд хранилище на 5 ГБ стоит 80 ₽ в месяц, 100 ГБ стоит 400 ₽ (цены на 14 октября 2026). Сервер под свой реестр обслуживаете вы сами.

Как удалить образ из своего Docker registry и освободить место?

Включить REGISTRY_STORAGE_DELETE_ENABLED, удалить манифест через API, затем запустить garbage-collect при остановленной записи. Без сборки мусора слои остаются на диске.

Почему этому можно верить

Как мы проверяли

Цены с сайта провайдераСняты вручную, у каждой цены указана дата проверки.
Всё можно повторитьКоманды и расчёты описаны так, что их повторит любой читатель.
Независимый справочникНе связан с разработчиками приложений и провайдерами и пишет о минусах тоже.

Источники цифр на этой странице: VPS и VDS серверы Таймвеб Клауд, timeweb.cloud/services/vds-vps, проверено 14 октября 2026; Реестр контейнеров Таймвеб Клауд, timeweb.cloud/services/container-registry, проверено 14 октября 2026; Маркетплейс приложений Таймвеб Клауд, timeweb.cloud/marketplace, проверено 14 октября 2026; Документация Distribution (Docker registry): развёртывание, distribution.github.io/distribution/about/deploying, проверено 15 октября 2026.

SBРедакция SelfBase · обновлено 16 октября 2026

Храните образы рядом с серверами

Приватный реестр для Docker-образов и Helm-чартов, объём до 20 ТБ.

  • 5 ГБ за 80 ₽ в месяц
  • 100 ГБ за 400 ₽ в месяц
  • Helm Charts
  • Трафик до Kubernetes 0 ₽
Цены и выбор