Docker совет №27: Разница между реестром, репозиторием и образом
Jun 7, 2018 07:06 · 237 words · 2 minute read
Docker-репозиторий позволяет хранить одну или несколько версий определенного docker-образа. Образ может иметь одну или более версий (в терминологии docker версия называется “тэг”).
Docker-образ можно сравнить с git-репозиторием. Git-репозиторий может быть размещен, например, на GitHub, или на других аналогичных сервисах (Gitlab, BitBucket и т. д.). Никто не может помешать вам хранить git-репозиторий с кодом на собственном сервисе. Кроме того, git-репозиторий (хотя правильнее в данном случае говорить только об исходном коде) может находиться только на вашем локальном окружении разработчика и не храниться в каких-либо других местах.
Все вышесказанное справедливо и для docker-образов. Вы можете никуда их не “пушить” и хранить только на локальном компьютере, а можете “запушить” docker-образ на Docker Hub (сервис, позволяющий размещать публичные и приватные docker-репозитории). Кроме упомянутого Docker Hub существуют и другие сервисы для хранения docker-репозиториев, в том числе есть возможность работать с собственным (предварительно настроенным) хранилищем.
Нужно помнить, что docker-репозиторий - это место для хранения docker-образов, вы можете “пушить” в него свои образы и скачивать их. Аналогично git-репозиторий - это место, куда вы можете “пушить” изменения кода и откуда вы можете их скачивать.
Осталось упомянуть, что Docker Hub и другие сторонние сервисы для хостинга docker-репозиториев (в том числе и собственноручно настроенные) называются “реестрами” (registry). В реестре обычно хранится набор репозиториев.
В заключение можно сказать, что в docker-реестре (docker-registry) есть много docker-репозиториев, в каждом из которых есть одна или несколько разных версий одного и того же docker-образа (docker image). Управление версиями docker-образов осуществляется с помощью тэгов.