我如何保留对docker集装箱所做的所有更改?

我使用docker作为“轻”虚拟机。 例如,当我需要在Ubuntu上做一些实验并且不想搞乱主机操作系统时,我只需运行docker run -it ubuntu bash

一般来说,我很高兴,除了我exit后无法保留更改,这意味着我需要重新运行

 apt update && apt install vim git python python3 <other_tools> && pip install flask coverage <other_libraries> && ..... 

每次我把Docker容器作为虚拟机启动,效率非常低。

我注意到了这个问题 ,但它只能让我保留一些特定的文件被删除,而我希望整个系统 (包括但不限于所有的configuration,caching和工具安装)保留之间的生命周期docker集装箱。

你必须使用类似的东西

docker commit mycontainer_id myuser/myimage:12

请参阅doc: docker commit

然后你启动你保存的图像myuser / myimage:12

但是你一定要使用一个Dockerfile