如何在已停止的Docker容器上运行命令?
问题描述:
我有一个以前用过的Wordpress容器。由于链接容器的变化,Wordpress容器现在不能再启动了(EntryPoint代码有错误)如何在已停止的Docker容器上运行命令?
由于Wordpress容器包含一些未存储在主机文件系统中的配置,我不应该现在重做docker run
。相反,我希望bash
进入已停止的容器,检查所有已更改的文件,并首先备份这些文件。
有没有办法在停止的容器上执行bash
?如何做?
答
搬运工运行-v/MYDATA --name MYDATA的Ubuntu /斌/假
然后......如果没有运行:-(
泊坞窗EXEC MYDATA触摸/ MYDATA /富#不起作用
一个很好的解决办法是要附加到数据容器,每次运行一个一次性的容器。在这种情况下,数据容器本身可能是完全空的,作为临时容器将有操作系统的工具。
$ docker run --rm --volumes-from mydata -it ubuntu bash
[email protected]:/# ls /mydata
[email protected]:/# touch /mydata/foo
[email protected]:/# exit
exit
我做了'码头差异',但只看到一些变化。正确的,'/ wp-content/uploads'文件夹中必须有相当多的图像。 'docker diff'总是显示与初始图像相比容器中所有已更改的文件吗? – 2015-02-07 11:18:54
我无法'开始',然后'执行'。如果你没有看到带有'docker diff'的文件,'start'会提前终止容器(由于EntryPoint中的错误),之后我有机会'exec' – 2015-02-07 11:20:02
,那么它们仍然存在于卷上。您可以通过执行docker run -it -volumes-from ubuntu'来轻松恢复它们。 –
2015-02-07 11:24:10