Ответ 1
1. Я установил docker-реестр для частных репозиториев. И я работал с автономным режимом. Насколько я понимаю, реестр докеров не может аутентифицировать пользователей - он запрашивает индекс для разрешений и auth. Таким образом, я отключил автономный режим, поэтому docker-registry должен аутентифицировать меня по index.docker.io, но он не работает - реестр позволяет мне нажимать и извлекать любые изображения, которые я хочу. Итак, вопрос в том, почему docker-registry не пытается аутентифицировать меня я index.docker.io?
В приватном приватном реестре реестра нет аутентификации, потому что вы не настроили его. Вы должны использовать nginx в качестве обратного прокси для настройки аутентификации, и поскольку клиент-докер не поддерживает базовую аутентификацию без SSL, вам также нужно настроить SSL на обратный прокси.
Когда вы нажимаете или тянете, вы используете клиент-докер. Он может подключаться к любому реестру, частному реестру, который вы настраиваете, а также к концентратору докеров. Вот несколько моментов, которые следует учитывать:
-
Когда вы запускаете поиск докеров со своего клиента-докера, он по умолчанию будет искать концентратор докеров и позволяет вытаскивать из него любое изображение до тех пор, пока оно открыто.
-
Для того чтобы нажать изображение в Docker Hub, необходимо войти в систему.
-
Теперь, если вы хотите выполнить поиск в своем приватном реестре докеров, вы должны сообщить клиенту докера выполнить поиск этого реестра в следующем формате:
docker search private.repo.domain:5000/vozerov
-
Теперь, в зависимости от того, какой реестр вы действительно хотите искать, ваш частный реестр потребует его собственной проверки подлинности, если вы настроите его с помощью обратного прокси-сервера, док-концентратор потребует от вас также входа в систему, если вы хотите его использовать для перемещения изображений.
-
Причина, по которой вы можете нажать/вывести/выполнить поиск, заключается в том, что вы, вероятно, говорите клиенту-докеру о том, что делать эти действия в вашем частном реестре, указав имя домена: port/image_name, даже если вы не укажете и не используете Docker Hub по умолчанию, вы не столкнетесь с проблемами аутентификации, если не попытаетесь нажать изображение.
2.Если docker-registry аутентифицирует меня через index.docker.io, так где хранятся параметры авторизации? Я имею в виду, если я хочу предоставить пользователю возеров нажать только на private.repo.domain: репозиторий 5000/vozerov.
-
Параметры авторизации хранятся на вашем клиентском компьютере докеров в следующем файле (это скрытый файл, поэтому используйте ls -la). Файл называется:.dockercfg
-
Внутри этого файла вы находите данные учетных данных регистрации реестров, с которыми вы пытались войти в систему успешно:
{ "your_domain.com": { "auth": "dXNlcjE6cGFzc3dvcmQxMjM=" "email": "" }
-
"auth" - это ваши базовые 64-х кодированные (имя пользователя: пароль) учетные данные
-
Частный реестр Docker предоставляет логин (только с помощью обратного прокси). Если вы хотите использовать полнофункциональную систему аутентификации, авторизации или контроля доступа на основе пользователей, вы можете посмотреть такие решения, как корпоративный реестр Artifactory или основной ОС
3. Докер выполняет поиск по индексу. Поэтому, если я хочу искать свои изображения в моем личном репозитории, мне нужно сообщить index.docker.io, что есть новый закрытый репозиторий. Является ли это реальным или я говорю что-то неправильно?
- Поиск Docker Client через index.io, если вы не укажете, что хотите, чтобы он искал ваш частный реестр. Это поведение по умолчанию для докеров. Ваш приватный реестр докеров полностью отделен от официального индекса докеров, просто ничего общего с ним. Если вы хотите искать свой частный реестр в своем клиенте Docker, вот несколько команд, которые вы могли бы использовать: native или curl:
-
Использование curl (apt-get install jq):
curl -s -X GET http://private.repo.domain:5000/v1/search | jq '.results[].name'
-
Использование поиска докеров:
docker search private.repo.domain:5000/<search_keyword>
4. Я нашел проект docker-index в github - https://github.com/ekristen/docker-index. Это альтернатива для index.docker.io. Итак, если я установлю его, войдите в него, будет поиск команды поиска докеров через мой частный индекс или через index.docker.io?
- Похоже, этот проект подходит к концу, поскольку Docker развертывается с новым реестром. Никогда не пробовал, поэтому я не знаю, какой реестр он ищет. Я бы предположил, что это то, что вы интегрируете с частным реестром, поскольку Docker Hub уже имеет собственный индекс, поэтому, если бы я сделал предположение, он будет искать ваш частный реестр.