检查云repo中是否存在Docker映像

检查云repo中是否存在Docker映像,docker,dockerfile,docker-build,Docker,Dockerfile,Docker Build,假设我有这个图像标签“node:9.2”,如node:9.2中的 在我实际尝试docker build…之前,是否有一个API可以点击查看带有标记“node:9.2”的图像是否存在并可以检索?是 docker image pull node:9.2 仅当图像不存在时,才会生成此脚本 V2的更新 function docker_tag_exists() { curl --silent -f -lSL https://hub.docker.com/v2/repositories/$1/ta

假设我有这个图像标签“node:9.2”,如node:9.2中的

在我实际尝试docker build…
之前,是否有一个API可以点击查看带有标记“node:9.2”的图像是否存在并可以检索?

docker image pull node:9.2

仅当图像不存在时,才会生成此脚本

V2的更新

function docker_tag_exists() {
    curl --silent -f -lSL https://hub.docker.com/v2/repositories/$1/tags/$2 > /dev/null 
}
将上述函数用于v2

#!/bin/bash
function docker_tag_exists() {
    curl --silent -f -lSL https://index.docker.io/v1/repositories/$1/tags/$2 > /dev/null 

}

if docker_tag_exists library/node 9.11.2-jessie; then
    echo "Docker image exist,...."
    echo "pulling existing docker..."
    #so docker image exist pull the docker image
    docker pull node:9.11.2-jessie
else 
    echo "Docker image not exist remotly...."
    echo "Building docker image..."
    #build docker image here with absoult or retlative path
    docker build -t nodejs .

fi
只需从下面的链接进行少量修改。 如果注册表是私有的,请检查此链接

如果已为Docker守护程序设置了
“实验”:已启用
,则可以使用以下命令:

docker清单检查节点:9.2


嗯,我不想实际下载该图像,只需检查它是否存在,这样可以吗?@AlexanderMills如果该图像可用,它将下载该图像。是的,在这种情况下,我只是想ping Docker hub服务器/注册表以查看该图像是否存在-这样,如果该图像不存在,我可以给用户一个很好的警告,事先不要让他们等待太久,如果图像存在,但它是私有的,用户没有访问权限,怎么办?我怀疑从API pov来看,这与图像不存在是一样的。有这样的命令不需要auth吗?为了让它工作,我首先必须运行
docker login-u-p
…谢谢!你有使用Docker注册表v2的例子吗?很酷,谢谢,这很有效:
curl--silent-f-lSLhttps://hub.docker.com/v2/repositories/library/node/tags
所以我猜
https://hub.docker.com/v2
不需要身份验证,但是
https://registry-1.docker.com/v2
是否需要身份验证?仅当您从私人回购中提取时才需要身份验证。在这种情况下,如果在检查过程中出现网络故障,这是否会给出假阴性?