MyTetra Share
Делитесь знаниями!
Время создания: 01.04.2026 12:39
Автор: alensav
Текстовые метки: Docker Hub
Раздел: UBUNTU_24-04
Запись: alensav/MyTetra2/main/base/1775036364la2j7oi3xi/text.html на raw.githubusercontent.com

Docker Hub — это официальный облачный реестр (registry) Docker, который позволяет находить, хранить и делиться контейнерными образами. Это центральное место, где хранятся как официальные образы (например, nginx, ubuntu, mysql), так и миллионы публичных образов, созданных сообществом.

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


1. Регистрация и вход

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

  1. Создайте Docker ID: Перейдите на hub.docker.com и зарегистрируйтесь бесплатно.
  2. Войдите в систему из командной строки:
    После установки Docker Desktop (или Docker Engine) откройте терминал и выполните команду:

bash

docker login

Введите ваш Docker ID и пароль. Успешный вход сохранит ваши учетные данные, что необходимо для отправки (push) ваших образов .

2. Поиск и загрузка образов

Основная сила Docker Hub — это возможность мгновенно загружать и запускать готовые образы.

  • Поиск образа: Вы можете искать образы на сайте Docker Hub или через командную строку.
  • bash

    # Найти официальные образы nginx

    docker search --filter is-official=true nginx

    Совет: Всегда обращайте внимание на Официальные образы (Official Images). Это тщательно проверенные и безопасные образы, сопровождаемые Docker .

  • Загрузка и запуск образа (Pull and Run):
    Команда docker run автоматически загружает образ, если он не найден локально, и запускает контейнер.

bash

# Загрузит образ nginx и запустит контейнер, пробросив порт 8080

docker run -p 8080:80 --rm nginx

После выполнения откройте в браузере http://localhost:8080 — вы увидите приветственную страницу Nginx. Нажмите Ctrl+C, чтобы остановить контейнер .

3. Публикация собственного образа

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

  1. Создайте репозиторий (Repository):
    Зайдите на сайт Docker Hub, нажмите "Create Repository", задайте имя (например, my-nginx-app) и выберите видимость (Public — публичный или Private — приватный) .
  2. Соберите образ с правильным тегом:
    Чтобы Docker знал, куда отправлять образ, его имя должно содержать ваш Docker ID и имя репозитория.
  3. bash

    # Замените <YOUR-USERNAME> на ваш Docker ID

    docker build -t <YOUR-USERNAME>/my-nginx-app .

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

    bash

    docker tag existing-name <YOUR-USERNAME>/my-nginx-app:latest

  4. Отправьте образ (Push):

bash

docker push <YOUR-USERNAME>/my-nginx-app

После успешной отправки образ появится на вашем репозитории в веб-интерфейсе Docker Hub .

4. Управление доступом и приватные репозитории

Docker Hub предоставляет гибкие настройки для совместной работы:

  • Приватные репозитории: Если вы не хотите делать код публичным, при создании репозитория выберите "Private". Бесплатные аккаунты обычно предоставляют 1 приватный репозиторий .
  • Совместная работа (Collaborators): Для личных репозиториев вы можете добавлять "Collaborators" (соавторов), чтобы дать им права на push/pull. Для организаций используются более сложные роли и команды .
  • Автоматическая сборка (Automated Builds): Можно связать Docker Hub с вашим GitHub или Bitbucket. В этом случае при каждом git push в репозиторий Docker Hub автоматически соберет новую версию образа .

5. Альтернативы и корпоративные сценарии

Хотя Docker Hub удобен для разработки, в компаниях часто используют альтернативы для повышения безопасности и скорости:

  • Зеркало (Mirror): В больших командах можно настроить локальное зеркало Docker Hub (Pull-Through Cache). Это ускоряет загрузки и снижает нагрузку на сеть, так как образы кэшируются локально .
  • Частный реестр (Private Registry): Вы можете развернуть свой собственный реестр (например, используя образ registry:2), чтобы хранить образы внутри периметра сети, не отправляя их в облако .
  • Другие облачные реестры: JetBrains IDE и другие инструменты поддерживают подключение к GitLab Registry, Azure Container Registry (ACR) и Amazon ECR (Elastic Container Registry) как к альтернативным хранилищам образов .

Краткая шпаргалка команд


Действие

Команда

Примечание

Вход

docker login

Введите логин и пароль от Docker Hub

Поиск

docker search nginx

Ищет образы по имени

Загрузка

docker pull ubuntu:22.04

Скачивает образ, но не запускает

Запуск

docker run -d -p 80:80 nginx

Скачивает (если нужно) и запускает контейнер

Тегирование

docker tag app user/app:v1

Готовит образ для отправки

Отправка

docker push user/app:v1

Загружает образ в ваш репозиторий

Выход

docker logout

Завершает сеанс в CLI

Готовы попробовать? Начните с запуска официального образа hello-world:

bash

docker run hello-world



 
MyTetra Share v.0.67
Яндекс индекс цитирования