作者:高档的干果ieb | 来源:互联网 | 2023-01-06 11:03
我知道这可以通过来完成dockerhub
。我想知道是否有类似的东西可用于gitlab注册表。
用例是,我编写了一个架构脚本,以将部署还原为用户提供的特定标签。在实际提取图像之前,我想知道注册表中是否存在具有指定标签的图像,并相应地警告用户。
我已经搜索了他们的文档,但找不到任何东西。
注意:这里的用户是部署代码的人。
1> morty..:
更新:我添加了一个解决方案,该解决方案无需访问以下docker服务器(非特权模式)即可工作。
好的,这是我通过启用实验性客户端功能使用docker:stable镜像想到的解决方案。
mkdir -p ~/.docker
"echo '{\"experimental\": \"enabled\"}' > ~/.docker/config.json"
docker login -u gitlab-ci-token -p $CI_JOB_TOKEN $CI_REGISTRY
docker manifest inspect $IMGNAME:$IMGTAG > /dev/null && exit || true
exit
如果该标记已存在,则终止构建脚本。另外,您还应该知道它会~/.docker/config.json
被覆盖。这也是为什么登录必须随后发生的原因。
更新:除了写配置文件,还可以将DOCKER_CLI_EXPERIMENTAL
环境变量设置为enabled
。因此,前两行可以替换为export DOCKER_CLI_EXPERIMENTAL=enabled
更新:
如果您没有启用特权模式,因此无法访问docker-daemon,则可以使用Harbor提供的Registry-api脚本(请注意,它们是python2。)。如果要使用kaniko构建docker映像,这将很方便,而无需访问docker -daemon。