Управление репозиториями

Репозитории Hub Docker позволяют обмениваться образами контейнеров с вашей командой, клиентами или сообществом Docker в целом.

Образы Docker передаются в Docker Hub с помощью команды docker push. Один репозиторий Docker Hub может содержать множество образов Docker (хранящихся как теги).

Создание репозитория

чтобы создать репозиторий, войти в Docker Hub, выбрать Repositories (Репозитории), а затем Create Repository (Создать репозиторий):

Create repo

При создании нового репозитория:

  • Вы можете поместить его в пространство имён идентификатора Docker или в любой организация, где вы являетесь владелец.

  • Имя репозитория должно быть уникальным в этом пространстве имён, может содержать от двух до 255 символов и может содержать только строчные буквы, цифры, дефисы (-) и символы подчеркивания (_).

    Примечание

    Вы не можете переименовать репозиторий Docker Hub после его создания.

  • Описание может содержать до 100 символов и использоваться в результатах поиска.

  • Вы можете связать учетную запись GitHub или Bitbucket сейчас или сделать это позже в настройках репозитория.

Setting page for creating a repo

После выбора Создает вы можете начать использовать docker push для отправки образов в данный репозиторий.

Создание частного репозитория

чтобы создать частный репозиторий, перейдите в Docker Hub и выбрать Репозитории и Частный.

Create Private Repo

Удаление репозитория

  1. Перейдите к Docker Hub и выбрать Репозитории.

  2. Выбрать репозиторий из списка, выбрать Настройки, а затем Удаляет репозиторий.

    Примечание

    При удалении репозитория удаляются все содержащиеся в нем образы и настройки сборки. Это действие нельзя отменяет.

  3. Входит имя репозитория, чтобы подтвердить удаление, и выбрать Удаляет.

Консолидация репозитория

Личное к личному

При объединении личных репозиториев вы можете извлекать личные образы из исходного репозитория и помещать их в другой принадлежащий вам репозиторий. Чтобы не потерять личные образы, выполняет следующие действия:

  1. Перейдите к Docker Hub, создаёт идентификатор Docker и выбрать персональную подписку.

  2. Используя docker login из CLI, войти в систему, используя свой исходный идентификатор Docker, и извлечь личные образы.

  3. Тэгировать личные образы своим недавно созданным идентификатором Docker, используя: docker tag namespace1/docker101tutorial new_namespace/docker101tutorial

  4. Используя docker login из интерфейса командной строки, войти в систему со своим только что созданным идентификатором Docker и перемещает недавно помеченные частные образы в новое пространство имён идентификатора Docker. docker push new_namespace/docker101tutorial

  5. Частные образы, которые существовали в вашем предыдущем пространстве имён, теперь доступны в вашем новом пространстве имён Docker ID.

Лично для организации

Чтобы не потерять личные образы, вы можете извлечь их из своего личного пространства имён и отправить их в организацию, которой вы владеете.

  1. Перейдите к Docker Hub и выбрать Организации.

  2. Выбрать подходящую организацию и убедиться, что ваша учетная запись пользователя является её членом.

  3. Войти в Docker Hub, используя исходный идентификатор Docker, и извлечь образы из исходного пространства имён. docker pull namespace1/docker101tutorial

  4. Тэгировать свои образы новым пространством имён вашей организации. docker tag namespace1/docker101tutorial <new_org>/docker101tutorial

  5. Отправить образы с недавно помеченными тегами в новое пространство имён организации. docker push new_org/docker101tutorial

Частные образы, существовавшие в исходном пространстве имён, теперь доступны для вашей организации.

Отправка образа контейнера Docker в Docker Hub

Чтобы передать образ в Docker Hub, вы должны сначала назвать свой локальный образ, используя свое имя пользователя Docker Hub и имя репозитория, созданное с помощью Docker Hub в Интернете.

Вы можете добавить в репозиторий несколько образов, добавив к ним определённый :<tag> (например, docs/base:testing). Если он не указан, тег по умолчанию имеет значение latest.

Назовите свои локальные образы, используя один из данных методов:

  • Когда вы их создаёте, используя docker build -t <hub-user>/<repo-name>[:<tag>]

  • Пометив существующее локальное образ docker tag <existing-image> <hub-user>/<repo-name>[:<tag>]

  • Используя docker commit <existing-container> <hub-user>/<repo-name>[:<tag>] для фиксации изменений

Теперь вы можете отправить данный репозиторий в реестр, обозначенный его именем или тегом.

$ docker push <hub-user>/<repo-name>:<tag>

Затем образ загружается и становится доступным для использования вашими товарищами по команде и/или сообществом.