如何恢复docker镜像的快照(用于测试目的,在同一个docker镜像上进行每个测试)

时间:2014-11-06 14:53:07

标签: docker

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

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

1 个答案:

答案 0 :(得分:1)

这不是您要更改的泊坞窗图像。它是您的主机文件系统。您正在使用的bash重定向&#39;&gt;&gt;&#39;将docker run命令的stdout放入主机文件系统上的/ tmp / t。要恢复状态,您需要删除该文件。

我认为你想要的是

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

将把echo放在容器文件系统中,当进程退出时,它将丢失。