重新使用先前使用的docker集装箱

如果我在Docker容器中,那么可以通过使用Ctrl + P + Q或者使用exit命令来停止,但是在退出这个容器后,如何保存它的状态以便我可以使用同一个容器。 另外,如果我使用docker提交来保存容器,那么它只是挂起。 那么有没有什么方法可以使用我从中退出的相同状态的容器?

您可以将源代码pipe理操作放入Dockerfile中列出的最后一个RUN中。

但为了使这个独特的命令,从而确保它每次运行,你可以包装在另一个脚本生成一个克隆操作的唯一编号的小脚本的Docker生成。

这个步骤会把这个脚本的调用插入Dockerfile中,这个Dockerfile是在编译之前即时生成的,这样对于每次都必须运行的操作 – 克隆 – 它的RUN语句确实是唯一的,也就是说

RUN /bin/sh /foo-1234567abc.sh 

其中foo-1234567abc是每个构build的唯一生成(并且随后的执行会创build类似foo-26190def.sh东西)并包含克隆操作,即

 cd /some/dir && /usr/bin/git clone http://some.git.server/your-repo.git 

这本身可能只是很less – 或者从不 – 改变。

这可以确保Docker在每次构build时都能运行克隆,同时具有完全自动化的优势,并确保caching使用到最后一次独立运行。

欲了解更多信息,请看这里