如何在已停止的Docker容器上运行命令?

时间:2015-02-07 10:57:00

标签: wordpress docker

我有一个以前用过的Wordpress容器。由于链接容器上的更改,Wordpress容器现在无法再启动(EntryPoint代码有错误)

由于Wordpress容器包含一些未存储在主机文件系统中的配置,因此我暂时不应重做docker run。相反,我希望bash进入已停止的容器,检查所有已更改的文件,并首先备份这些文件。

有没有办法在已停止的容器上执行bash?怎么做?

2 个答案:

答案 0 :(得分:5)

更自然的方法是使用docker diff检查对容器文件系统的更改。 - 只显示已更改文件的名称。

如果您幸运使用成熟容器并对卷进行了更改,则可以使用--volumes-from <stopped container>启动新容器。

或者你可以start停止的容器,然后exec进入它。

第三个选项是将已停止的容器作为图像提交并从中启动一个新容器。

答案 1 :(得分:0)

docker run -v / mydata --name mydata ubuntu / bin / false

然后......

docker exec mydata touch / mydata / foo #nn如果没有运行则不起作用: - (

一个好的解决方案是每次要附加到数据容器时运行一次性容器。在这种情况下,数据容器本身可能完全是空的,因为临时容器将具有OS工具。

$ docker run --rm --volumes-from mydata -it ubuntu bash
root@645045d3cc87:/# ls /mydata
root@645045d3cc87:/# touch /mydata/foo
root@645045d3cc87:/# exit
exit