如何恢复docker映像的快照(用于testing目的,在同一个docker映像上的每个testing)

我想创build一个环境来对已经准备好的图像进行testing。 不过,docker存储了以前运行testing的结果,可以通过以下方式进行说明:

sudo docker run -t myname/test_base echo "test" >> /tmp/t; cat /tmp/t test sudo docker run -t myname/test_base echo "test" >> /tmp/t; cat /tmp/t test test 

我应该怎么做,如果我只是想恢复图像的初始状态?

 sudo docker run -t myname/test_base echo "test" >> /tmp/t; cat /tmp/t test <some magic> sudo docker run -t myname/test_base echo "test" >> /tmp/t; cat /tmp/t test 

这不是你正在改变的docker形象。 这是你的主机文件系统。 您正在使用的bashredirect“>>”将docker run命令的stdout放置在主机文件系统的/ tmp / t中。 要恢复状态,您需要删除文件。

我想你想要的是

 docker run test_base bash -c 'echo test >> /tmp/t' 

这会将回声放在容器文件系统中,当进程退出时这些文件系统将丢失。