如何在本地删除docker库的所有标签?

我想本地删除给定docker库上的所有标签。 例如,如果我在一个名为“my_image:latest”和“my_image:sometag”的repo上有两个标签,我想删除这两个标签。 但是,我不想删除“another_image:latest”。

主要在一行中:

docker images | grep "$DOCKER_REPO" | awk '{system("docker rmi " "'"$DOCKER_REPO:"'" $2)}' 

请记住,除非使用-f选项,否则不能删除正在使用的图像。

你可以使用下面的shell函数:

 dockercleanrepo(){ docker images --no-trunc --format '{{.ID}} {{.Repository}}' \ | grep "$@" | awk '{ print $1 }' | xargs -t docker rmi } 

将它添加到bashrc,zshrc,并简单地使用它:

 dockercleanrepo <your-repoitory> 

也与此有关,检查问题的答案如何删除旧的和未使用的Docker镜像 。