Docker容器中删除文件后,大小不减反增怎么办?
Docker的镜像是由多层存储结构组成的,每一层都是只读的,所以您无法删除之前层的操作。
但是可以通过以下步骤达到一样的效果。
假设你从原始镜像a中创建了容器b。
现在你在容器b中删除了一些东西。
您可以使用docker export命令将容器的文件系统导出为一个tar文件:
1 | docker export -o my.tar containerID |
然后,使用docker import命令从这个tar文件导入为一个新的镜像:
1 | docker import my.tar new-image |
此时这个new-image镜像就摆脱了旧镜像的历史层,大小也会相应大大减少。
但是你可能会失去一些东西:环境变量、端口映射、镜像的历史记录和层级结构、镜像的标签和版本号、镜像的创建时间和作者、容器的启动命令和参数等等。
Docker容器中删除文件后,大小不减反增怎么办?
https://xiamu-ssr.github.io/Hexo/2023/06/10/2023-H1/2023-06-10-21-23-00/