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

Tim*_*tin 5 bash docker

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

aud*_*ude 7

要列出要删除的图像:

$ docker images --filter='reference=my_image' --format='{{.Repository}}:{{.Tag}}'
Run Code Online (Sandbox Code Playgroud)

要删除它们,请结合使用docker rmi

$ docker images --filter='reference=my_image' --format='{{.Repository}}:{{.Tag}}' | xargs docker rmi
Run Code Online (Sandbox Code Playgroud)

  • 使用“xargs -r”以避免在没有图像时失败 (2认同)

小智 3

大部分在一行中:

docker images | grep "$DOCKER_REPO" | awk '{system("docker rmi " "'"$DOCKER_REPO:"'" $2)}'
Run Code Online (Sandbox Code Playgroud)

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