检查 Docker 图像是否存在于云存储库中

Check if Docker image exists in cloud repo

假设我有此图片标签 "node:9.2",如 FROM node:9.2...

有没有 API 在我实际尝试 docker build ... 之前,我可以点击查看带有标签 "node:9.2" 的图像是否存在并且可以检索到 docker build ...?

是的。

docker image pull node:9.2

仅当图像不存在时才会构建此脚本。

V2 更新

function docker_tag_exists() {
    curl --silent -f -lSL https://hub.docker.com/v2/repositories//tags/ > /dev/null 
}

对 v2 使用以上函数

#!/bin/bash
function docker_tag_exists() {
    curl --silent -f -lSL https://index.docker.io/v1/repositories//tags/ > /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

对下面的 link 稍作修改。 如果注册表是私有的,请检查此 link

如果您为 Docker 守护程序设置了 "experimental": enabled,那么您可以使用此命令:

docker manifest inspect node:9.2