Какую команду Docker можно использовать после входа в реестр Docker? - PullRequest
0 голосов
/ 10 января 2019

Я новичок в Docker. Я знаю, что реестром по умолчанию является 'Docker Hub'. И есть руководства по навигации в Docker Hub, например, поиск изображений и т. д. Но такие операции выполняются в интерфейсе Docker Hub через Интернет.

Мне был предоставлен личный реестр Docker. После входа в систему с помощью команды, подобной docker login someremotehost:8080, я не знаю, какую команду использовать для перемещения по реестру. Я не знаю, какие изображения доступны и каковы их теги.

Может ли кто-нибудь поделиться информацией / ссылкой на какую команду использовать для изучения личного удаленного реестра после входа в систему пользователя?

Кроме того, чтобы использовать изображения из частного реестра, имя, которое мне нужно использовать, становится примерно таким: 'my.registry.address:port/repositoryname.

Есть ли способ изменить конфигурацию моего приложения-докера, чтобы он сделал my.registry реестром по умолчанию, и я могу просто использовать repositoryname без указания имени реестра в каждой команде Docker?

Ответы [ 2 ]

0 голосов
/ 11 января 2019

Для Docker есть только две команды для связи реестра:

Docker Pull and Docker Push

А в личном реестре Docker нет никаких настроек по умолчанию в Docker, чтобы получить данные только из определенного реестра. Причиной этого является имя образа докера. Для официального образа докера есть прямое имя типа Centos. Но в реестре докеров также есть изображения, созданные неофициальной организацией или лицом. В таких изображениях докеров всегда есть имя пользователя или организации, например pivotaldata/centos. Таким образом, это соглашение об именах - это помощь докеру найти изображение в реестре докера в публичном (через логин) или публичном реестре. В случае, если вы хотите больше взаимодействовать с частным репо, вы можете написать свой собственный пакетный скрипт или скрипт bash. Как будто я создал пакетный скрипт, который извлекает все теги из частного репозитория, если пользователь вводит неправильный тег.

@echo off

docker login --username=xxxx --password=xxxx
docker pull %1:%2

IF NOT %ERRORLEVEL%==0 (
echo "Specified Version is Not Found "
echo "Available Version for this image is :"
for /f %%i in (' curl -s -H "Content-Type:application/json" -X POST -d "{\"username\":\"user\",\"password\":\"password\"}" https://hub.docker.com/v2/users/login ^|jq -r .token ') do set TOKEN=%%i
curl -sH "Authorization: JWT %TOKEN%" "https://hub.docker.com/v2/repositories/%1/tags/" | jq .results[].name
)
0 голосов
/ 10 января 2019

Нет стандартных команд CLI для взаимодействия с удаленными регистрами, кроме docker pull и docker push. Сам реестр может предоставлять какой-то пользовательский интерфейс (например, Amazon ECR может перечислять изображения через стандартную консоль AWS), или ваша местная команда разработчиков может иметь вики, в которой перечисляется то, что обычно доступно.

Вы не можете изменить реестр Docker по умолчанию. Вы довольно сильно ожидаете, что например, ubuntu на самом деле docker.io/library/ubuntu, а не что-то еще.

...