在使用`docker commit`时删除现有的图像?

我有一个脚本,我用它来build立docker图像。 该脚本启动一个docker容器,执行一些命令,然后docker commit固定图像。 当我提交一个图像名称/标记,然后提交相同的图像名称/标记,我想先前的图像被删除,因为在那一刻,它只是占用磁盘空间。 相反它坚持(我可以看到它在docker images ,其存储库和标签都列为<none> )。 有没有办法让docker自动删除这些replace的图像?

不是自动的,但是Docker确实知道哪些图层不在图像中使用,你可以像这样删除那些“悬挂”的图像层:

 docker rmi $(docker images -f "dangling=true" -q) 

在清理过程中,还可以删除退出的容器:

 docker rm $(docker ps -a -q) 

和悬摆卷:

 docker volume rm $(docker volume ls -qf dangling=true)