将容器的文件更改或设置提交到新图像中很有用。 这允许您通过运行交互式外壳调试容器,或将有效数据集导出到另一台服务器。
我可以在现有容器上运行交互式shell,而无需使用id | key
-----------
1 | null
创建新映像。
此外,如果我们希望单独的容器不破坏现有容器中的任何东西,则可以基于映像运行另一个容器。
那么,docker container commit
如何帮助我调试容器?
答案 0 :(得分:3)
您可能永远都不应该使用docker commit
。
从前,Docker没有docker exec
。您唯一可以做的就是docker run
一个新的容器。通常,您需要进行设置,以便docker build
为您设置所有内容,并可以调试docker run --rm -it myimage sh
,但是如果某些事情在运行时确实很奇怪,则缺少{{1} },最好的办法是提交容器的当前状态,然后在结果图像上运行带有交互式外壳的新容器。
这些天,正如您所说的,exec
是用于实时调试的更好的工具。 (这并不是您使用容器的主要方式。)如果需要映像,docker exec
和docker build
系统是生成映像的更可复制的方法。