2015-11-30 3 views
59

Я смущен относительно разницы между реестрами докеров и репозиториями. Похоже, что документация Docker использует два слова взаимозаменяемо. Кроме того, хранилища иногда называют как образами, такими, как это от них документов:Разница между реестром и хранилищем Docker

Для того, чтобы толкнуть репозиторий в его реестр, вы должны назвали изображение или совершенных ваш контейнер с именем изображения в качестве мы видели здесь.

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

Как вы можете нажать репозиторий в реестр? Не подталкиваете ли вы изображение к репозиторию?

+3

, что около докер изображений против докеров хранилищ? –

+0

для изображений против репозиториев: https://stackoverflow.com/questions/31115098/in-docker-what-is-the-difference-between-an-image-and-a-repository – wisbucky

ответ

75

Docker registry - это сервис, который хранит ваши изображения докеров.

Docker реестра может быть организовано третьей стороной, в государственном или частном реестре, как один из следующих регистров:

или вы можете разместить реестр докеров самостоятельно
(см. https://docs.docker.com/docker-trusted-registry/ для получения дополнительной информации).

Docker репозиторий представляет собой набор различных изображений докеров с тем же именем, которые имеют разные теги. Тег - это буквенно-цифровой идентификатор изображения в репозитории.

Например, см. https://hub.docker.com/r/library/python/tags/. Для официального изображения python существует множество разных тегов, эти теги являются членами официального репозитория python в Docker Hub. Docker Hub - это Docker Registry, организованный Docker.

Чтобы узнать больше читайте:

+5

Artifactory является одним из них, который нужно добавить в список ;) Мы используем это – buildmaestro

+1

И вот ссылка для Artifactory - https://www.jfrog.com/confluence/display/RTF/Docker+Registry – JBaruch

+0

В чем разница между репозиторием и изображениями в докере? –

33

Из книги Using Docker, Developing and deploying Software with Containers

реестрами, репозиториев, изображения и метки

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

реестра

Служба отвечает за организацию и распространение изображений. Реестр по умолчанию - Docker Hub.

Repository

Коллекция связанных изображений (как правило, обеспечивая различные версии одного и того же приложения или службы).

Тэг

буквенно-цифровой идентификатор, прикрепленный к изображениям в хранилище (например, 14.04 или стабильным).

Таким образом, команда docker pull amouat/revealjs:latest загрузит изображение, помеченное последним в репозитории amouat/revealjs из реестра Docker Hub.

+0

, так можно ли иметь несколько тегов для одного изображения? –

+0

@charlie Да. Например, прямо сейчас 'ubuntu: latest' и' ubuntu: 16.04' имеют одинаковый идентификатор изображения, что означает, что это всего лишь несколько тегов для одного и того же изображения. – wisbucky

+0

Где это описано в документации для 'docker pull', которая частично читает:« Чтобы загрузить определенное изображение или набор изображений (т. Е. Репозиторий), используйте 'docker pull'. Если тег не указан, Docker Engine использует тег ': latest' по умолчанию. Как же тогда «загрузить ... набор изображений (т. Е. Репозиторий)»? –

4

Дополняя информацию:

  • Обычно нажать репозиторий в реестре (и все изображения, которые являются его частью). Но вы можете вставить одно изображение в реестр. Во всех случаях вы используете docker push.
  • Изображения имеет 12-гекс-значный ID изображения, но также была определенно: namespace/repo-name:tag
  • Изображения полное имя может быть необязательно префиксом именем хоста реестра и портом: myregistryhost:5000/namespace/repo-name:tag
  • Общего соглашения об именах использовать имя пользователя реестра как то, что я назвал «пространство имен».
+1

Я получаю то, что вы говорите, но технически нет такой вещи, как 'image-name'. Формат должен быть 'user-name/repo-name: tag', в соответствии с [Документацией докеров] (https: //docs.docker.ком/докер-хаб/репо/# толкая-а-хранилище-изображение-к-докер-хаба). (Я бы хотел, чтобы Докер использовал лучшую терминологию, это довольно запутанно, и они не всегда согласуются все время). – wisbucky

+0

@wisbucky Спасибо! Я обновил свой ответ. Действительно, документация была не так хороша, когда я ответил на этот вопрос год назад. Например, в то время я создал проблему на docker github repo, потому что глоссарий докеров не содержал «layer» и «namespace» (!) –

+0

И как докеры разрабатывают IP-адрес публичного реестра, когда вы просто ставите что-то как nimmis/docker-alpine-java: последние – Adam

0

Докеры-хранилище - это милая комбинация registry и image.

docker tag foo <registry>/<image>:<tag> 

такого же, как

docker tag foo <repository>:<tag> 
Смежные вопросы