如何删除Docker容器中已删除的文件?

如何删除Docker容器中已删除的文件?,docker,docker-compose,docker-machine,docker-build,nvidia-docker,Docker,Docker Compose,Docker Machine,Docker Build,Nvidia Docker,我的docker图像大小为17 GB。我运行了图像并删除了docker容器中的4GB文件夹。提交容器后,创建的新映像也是17 GB。这是怎么可能的?当您通过提交添加另一层时,这将导致另一层删除以前层的文件。如果运行图像,将执行并解释所有层 docker build--squash可以帮助您减少图像大小,因为它将所有层合并到一个中,但这是实验性的。找到了逻辑:问题是一旦我提交一个大小为17 GB的容器并退出它,就会创建一个大小为17 GB的新图像。即使再次运行图像并删除其中的文件并重新提交,大小

我的docker图像大小为17 GB。我运行了图像并删除了docker容器中的4GB文件夹。提交容器后,创建的新映像也是17 GB。这是怎么可能的?

当您通过提交添加另一层时,这将导致另一层删除以前层的文件。如果运行图像,将执行并解释所有层


docker build--squash
可以帮助您减少图像大小,因为它将所有层合并到一个中,但这是实验性的。

找到了逻辑:问题是一旦我提交一个大小为17 GB的容器并退出它,就会创建一个大小为17 GB的新图像。即使再次运行图像并删除其中的文件并重新提交,大小也不会改变。关键是在提交容器之前,我们必须删除所有不必要的文件并提交容器

您应该将此答案理解为“docker提交ted图像永远不会比其前身小”。因此,从技术上讲,即使我删除容器中的文件并提交,大小也不会改变。那么,删除文件以节省磁盘空间的意义是什么……我的理解正确吗?