如何在停止的Docker容器上运行命令?
我有一个以前工作的Wordpress容器。 由于链接容器的变化,Wordpress容器现在不能再启动了(EntryPoint代码有错误)
由于Wordpress容器包含一些未存储在主机文件系统中的configuration,我现在不应该重做docker run
。 相反,我想打开停止的容器,检查所有更改的文件,并首先备份这些文件。
有没有办法在停止的容器上执行bash
? 怎么做?
更自然的方法是使用 – 将只显示已更改文件的名称。 docker diff
检查对容器文件系统的更改。
如果幸运地使用成熟的容器并对卷进行了更改,则可以使用--volumes-from <stopped container>
启动一个新的容器。
或者,您可以启动停止的容器,然后执行exec来进入。
第三个选项是提交停止的容器作为图像,并从中启动一个新的。
docker运行-v / mydata – 名称mydata ubuntu / bin / false
然后 …
docker执行mydata触摸/ mydata / foo#不工作,如果不运行:-(
一个好的解决scheme是每次要连接到数据容器时运行一次性容器。 在这种情况下,数据容器本身可能完全是空的,因为临时容器将具有OS工具。
$ docker run --rm --volumes-from mydata -it ubuntu bash root@645045d3cc87:/# ls /mydata root@645045d3cc87:/# touch /mydata/foo root@645045d3cc87:/# exit exit