如何在停止的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