检查 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
假设我有此图片标签 "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