使用docker commit删除现有图像?

lim*_*imp 4 docker

我有一个用于构建docker映像的脚本。该脚本启动docker commitdocker 容器,在其上执行一些命令,然后对图像进行固定。当我提交一个带有映像名称/标签的映像,然后又提交带有相同映像名称/标签的映像时,我希望删除上一个映像,因为这时它仅占用了磁盘空间。相反,它会停留在周围(我可以在中看到它docker images,其存储库和标签都列为<none>)。有没有办法让docker自动删除这些替换的图像?

Elt*_*man 5

并非自动,但是Docker确实知道图像中未使用哪些层,您可以像这样删除那些“悬空的”图像层:

docker rmi $(docker images -f "dangling=true" -q)
Run Code Online (Sandbox Code Playgroud)

清理时,还可以删除退出的容器:

docker rm $(docker ps -a -q)
Run Code Online (Sandbox Code Playgroud)

和悬空的卷:

docker volume rm $(docker volume ls -qf dangling=true)
Run Code Online (Sandbox Code Playgroud)