要删除远程仓库中的Docker镜像,您需要根据所使用的不同容器注册表服务采取不同的方法。以下是几种常见情况的解决方案:
# 首先获取token
TOKEN=$(curl -s -H "Content-Type: application/json" -X POST -d '{"username": "'${DOCKER_USERNAME}'", "password": "'${DOCKER_PASSWORD}'"}' https://hub.docker.com/v2/users/login/ | jq -r .token)
# 然后删除指定镜像标签
curl -X DELETE -H "Authorization: JWT ${TOKEN}" https://hub.docker.com/v2/repositories/<namespace>/<repository>/tags/<tag>/
# 获取Harbor API token
TOKEN=$(curl -s -X POST -H "Content-Type: application/json" -d '{"principal":"username","password":"password"}' https://harbor.example.com/api/v2.0/users/login | jq -r .token)
# 删除镜像
curl -X DELETE -H "Authorization: Bearer ${TOKEN}" "https://harbor.example.com/api/v2.0/projects/<project>/repositories/<repository>/artifacts/<reference>"
# 登录ECR
aws ecr get-login-password | docker login --username AWS --password-stdin <account-id>.dkr.ecr.<region>.amazonaws.com
# 列出镜像
aws ecr describe-images --repository-name <repository-name>
# 删除指定镜像标签
aws ecr batch-delete-image --repository-name <repository-name> --image-ids imageTag=<tag>
# 删除整个仓库(谨慎操作)
aws ecr delete-repository --repository-name <repository-name> --force
# 列出镜像
gcloud container images list-tags gcr.io/<project-id>/<repository>
# 删除指定标签
gcloud container images delete gcr.io/<project-id>/<repository>:<tag>
# 删除整个仓库
gcloud container images delete gcr.io/<project-id>/<repository> --force-delete-tags
如果您需要针对特定容器注册表服务的更详细指导,请提供更多关于您使用的远程仓库信息。