我需要在 Google 容器注册表中的存储库上的映像上添加一个标记,我想知道是否可以在不在本地安装 docker 并在映像上执行pull
、tag
、push
的情况下完成此操作。我知道如何使用 UI 执行此操作,但我想自动执行此过程。
谢谢。
如果您正在寻找特定于 Google 容器注册表的解决方案,则可以使用gcloud container images add-tag
命令。例如:
gcloud container images add-tag gcr.io/myproject/myimage:mytag1
gcr.io/myproject/myimage:mytag2
参考: https://cloud.google.com/sdk/gcloud/reference/container/images/add-tag
如果你想使用代码,我建议看看这些库。
- 去:https://github.com/google/go-containerregistry
- 蟒蛇:https://github.com/google/containerregistry
如果你不想使用 Docker,你可以选择使用 gcloud 命令行,你只需要配置 Docker 以使用 gcloud 作为凭证助手:
gcloud auth configure-docker
之后,您可以按存储位置列出图像:
gcloud container images list --repository=[HOSTNAME]/[PROJECT-ID]
或列出映像的版本
gcloud container images list-tags [HOSTNAME]/[PROJECT-ID]/[IMAGE]
你也可以 标记图像
gcloud container images add-tag
[HOSTNAME]/[PROJECT-ID]/[IMAGE]:[TAG]
[HOSTNAME]/[PROJECT-ID]/[IMAGE]:[NEW_TAG]
或
gcloud container images add-tag
[HOSTNAME]/[PROJECT-ID]/[IMAGE]@[IMAGE_DIGEST]
[HOSTNAME]/[PROJECT-ID]/[IMAGE]:[NEW_TAG]
上述所有操作也可以通过UI完成。
对于您的问题"我想自动化此过程"不确定您在寻找什么,但您可以创建一个包含 gcloud 命令的 bash 脚本并从您的云外壳运行它