当前位置: 首页 > 面试题库 >

Docker-检查私有注册表映像版本

淳于博
2023-03-14
问题内容

我需要使用哪些CLI命令来检查我的私有Docker注册表中的映像是否比服务器上当前正在运行的映像新版本?

例如,我有一个运行的容器 docker run -d my.domain.com:5000/project1

我想知道它是否过时了。


问题答案:

布朗尼指出了@mbarthelemy和@amuino,他们使我步入正轨。由此,我提出了以下bash脚本,其他人可能会觉得有用。它只是检查注册表上的标记是否与当前正在执行的容器不同。

#!/bin/bash
# ensure running bash
if ! [ -n "$BASH_VERSION" ];then
    echo "this is not bash, calling self with bash....";
    SCRIPT=$(readlink -f "$0")
    /bin/bash $SCRIPT
    exit;
fi


REGISTRY="my.registry.com:5000"
REPOSITORY="awesome-project-of-awesomeness"


LATEST="`wget -qO- http://$REGISTRY/v1/repositories/$REPOSITORY/tags`"
LATEST=`echo $LATEST | sed "s/{//g" | sed "s/}//g" | sed "s/\"//g" | cut -d ' ' -f2`

RUNNING=`docker inspect "$REGISTRY/$REPOSITORY" | grep Id | sed "s/\"//g" | sed "s/,//g" |  tr -s ' ' | cut -d ' ' -f3`

if [ "$RUNNING" == "$LATEST" ];then
    echo "same, do nothing"
else
    echo "update!"
    echo "$RUNNING != $LATEST"
fi


 类似资料:
  • 问题内容: 我创建了两个Docker容器。第一个提供专用的Docker注册表,第二个提供官方Docker注册表的镜像: 现在,我想将两者结合起来。每当用户 提取 图像时,都应首先查询私有注册表,然后查询镜像。当图像被 推送时, 它们仅应被推送到私有注册表。 我不知道如何做到这一点。任何帮助表示赞赏。 问题答案: 您不能仅仅强制所有 docker push 命令推送到您的私有注册表。原因之一是您可以

  • 我正在尝试将一个图像推送到我的docker私有存储库: Docker告诉我: push引用存储库[living-registry.com:5000/busybox]Get https://living-registry.com:5000/v1/_ping:read tcp 195.83.122.16:39714->195.83.122.16:5000:read:对等体重置连接 这些命令正在Core

  • 问题内容: 我运行了一个私有Docker注册表,我想从存储库中删除除之外的所有图像。我不想删除整个存储库,仅删除其中的一些图像。该API文档不提一个办法做到这一点,但肯定这是可能的? 问题答案: 当前,您无法将注册表API用于该任务。它仅允许您删除存储库或特定标签。 通常,删除存储库意味着删除与此仓库关联的所有标签。 删除标签意味着删除图像和标签之间的关联。 以上所有都不删除单个图像。它们留在您的

  • 我有一个小问题与我的docker注册表上openshift源安装。 我创建了一个docker注册表pod: 创建了一条路线: 创建了一个服务: Openshift的Master是在10.0.2.235上的,只有一个节点,现在我已经创建了一个spring boot应用程序,我使用maven插件docker来构建和推送映像。 当我在本地(主计算机上)运行maven push时,工作正常,但如果我在另一

  • 我无法将docker映像推送到低于错误的工件注册表 登录和拉取工作正常 詹金斯档案: Dockerfile: 我不确定这是怎么回事。我可以在jenkins从属节点上手动推送图像。但使用詹金斯会产生错误 我构建工作的日志 这是我的构建日志中的内容。

  • 我无法将docker映像推送到heroku注册表。 根据docker的说法,我已成功登录: 在那之后,我运行了,我得到了一些令人困惑的错误,说我试图推送到一个不安全的repo,而de-output中的url看起来是安全的(以https开头)。我做错了什么? 我正在使用以下jib配置: jib的Maven输出:build wiht-X: