私信  •  关注

Vatsal Garg

Vatsal Garg 最近创建的主题
Vatsal Garg 最近回复了
7 年前
回复了 Vatsal Garg 创建的主题 » 登陆Docker注册表后可以使用什么Docker命令?

对于Docker,只有两个用于注册表通信的命令:

Docker Pull and Docker Push

关于Docker私有注册表,Docker中没有任何默认设置,只能从特定注册表获取拉取。原因是docker image的名称。对于官方docker image有如下直接名称 Centos . 但在码头登记处也有一些图片是由非官方组织或个人创建的。在这种Docker图像中,总是有用户或组织的名称,比如 pivotaldata/centos . 因此,这个命名约定有助于docker在public(通过登录)或public registry中查找docker注册表中的图像。 如果您想与私有repo进行更多的交互,可以编写自己的批处理脚本或bash脚本。就像我创建了一个批处理脚本,如果用户给出了错误的标记,它将从私有repo中提取所有标记。

@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
)