阻止Google容器注册表保留“被覆盖”的图像

时间:2019-01-30 06:20:58

标签: docker gcloud google-container-registry

当我推送覆盖现有图像(名称和标签相同)的新图像时,先前的图像刚刚从其标签中删除,并保留在存储库中。

img

是否可以将gcr或我的docker命令配置为不保留过期的映像?我可以查询没有标签的图像并手动删除它们,但这似乎很荒谬。

我的图片推送代码:

export GCLOUD_PROJECT="..."
gcloud auth activate-service-account --key-file gcloud-api-key.json
gcloud config set project $GCLOUD_PROJECT
gcloud auth configure-docker --quiet
docker build -t my_image .
docker tag my_image asia.gcr.io/$GCLOUD_PROJECT/my_image:dev
docker push asia.gcr.io/$GCLOUD_PROJECT/my_image:dev

1 个答案:

答案 0 :(得分:0)

不幸的是,当您推送具有相同标签的新docker映像时,不会自动从GCR删除。另一方面,google提供了自动执行该API的API,您可以通过添加delete命令如下更改脚本:

@GET("EN_PRODUCTLIST{catId}")
fun getProductByCatId(@Path(catId) catId:String):Deferred<SomeProduct>

您可以在Google GCR文档https://cloud.google.com/container-registry/docs/managing#deleting_images中找到更好的信息。