sh 删除DockerHub上的Docker镜像

Posted

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了sh 删除DockerHub上的Docker镜像相关的知识,希望对你有一定的参考价值。

#!/bin/bash
# Based on kizbitz/dockerhub-v2-api-organization.sh at https://gist.github.com/kizbitz/175be06d0fbbb39bc9bfa6c0cb0d4721

# Example for the Docker Hub V2 API
# Returns all images and tags associated with a Docker Hub organization account.
# Requires 'jq': https://stedolan.github.io/jq/

# set username, password, and organization
UNAME=""
UPASS=""
ORG=""

# -------

set -e

# get token
echo "Retrieving token ..."
TOKEN=$(curl -s -H "Content-Type: application/json" -X POST -d '{"username": "'${UNAME}'", "password": "'${UPASS}'"}' https://hub.docker.com/v2/users/login/ | jq -r .token)

# get list of repositories
echo "Retrieving repository list ..."
REPO_LIST=$(curl -s -H "Authorization: JWT ${TOKEN}" https://hub.docker.com/v2/repositories/${ORG}/?page_size=200 | jq -r '.results|.[]|.name')

# delete images and/or tags
echo "Deleting images and tags for organization: ${ORG}"
for i in ${REPO_LIST}
do
  # Delete repo (all)
  echo -n "${i}: "
  curl -X DELETE -s -H "Authorization: JWT ${TOKEN}" https://hub.docker.com/v2/repositories/${ORG}/${i}/
  echo "DELETED"

  # Delete by tags (TODO: filter)
  #IMAGE_TAGS=$(curl -s -H "Authorization: JWT ${TOKEN}" https://hub.docker.com/v2/repositories/${ORG}/${i}/tags/?page_size=300 | jq -r '.results|.[]|.name')
  #for j in ${IMAGE_TAGS}
  #do
  #   echo -n "  - ${j} ... "
  #   curl -X DELETE -s -H "Authorization: JWT ${TOKEN}" https://hub.docker.com/v2/repositories/${ORG}/${i}/tags/${j}/
  #   echo "DELETED"
  #done
done

以上是关于sh 删除DockerHub上的Docker镜像的主要内容,如果未能解决你的问题,请参考以下文章

.NET Core 2.1 容器镜像将从 Docker Hub 中删除

如何查看dockerhub的所有镜像

如何通过命令行从docker hub删除docker镜像?

docker register 删除镜像

从dockerhub中拉取python镜像环境

Docker 007 镜像的发布与删除