我正在尝试从Docker镜像中删除文件,然后导出Docker镜像以在另一台服务器上使用。
我已完成以下步骤:
docker exec -it <name> sh
rm <file>
exit
docker commit <id> <newImageName>
docker save <newImageName> > newImageName.tar
当我解压newImageName.tar时,它仍然包含我在其中一层中上面找到的文件。
如何从正在运行的镜像中删除文件并保存该镜像?
谢谢
最佳答案
使用docker exec
和rm
删除文件,然后使用docker export
导出容器。当您使用docker import
还原容器时,该文件将不存在。
当您使用docker commit
时,您将在先前的层上创建另一个层,并且该文件仍将存在于先前层的tarball中,因为Docker镜像是基于层的概念构建的。当您docker load
并运行图像时,该文件将不存在。
如果您的问题是由于病毒扫描出现误报而导致压缩文件中存在该文件,请使用docker export
。
关于docker - 如何删除正在运行的Docker镜像中的文件,然后保存该镜像以供以后加载?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/44137007/