更改Docker容器

时间:2014-07-28 22:22:54

标签: linux wordpress docker

我在Docker instance中运行了Wordpress安装。我遇到了电子邮件问题,可能是由于sendmail丢失了。如果确实我必须将sendmail添加到容器中,那么预期的方式是什么?我已经看到了lxc hacks,但它总是声明或者至少暗示这不符合Docker应该如何工作的意图。我决定使用Docker来获取我的Wordpress网站,因为我已经安装了一个运行HTTP系统服务的系统,基本上切断所有内容(Apache,PHP,MySQL等)的想法真的很吸引我。然后我可以备份整个容器并在需要时将其整个移动到另一个系统。

为了尽可能直接地陈述我的问题,修改正在运行的容器的哪种方法最适合Docker的预期设计?我应该如上所述通过lxc-attach尝试ad-hoc bash提示吗?或者是否有更合适的方法,例如使容器成为新图像(保留所有WP数据)并修改图像然后重新启动容器?

1 个答案:

答案 0 :(得分:2)

答案很长:

我建议您更改项目的结构方式。

在您的容器中放置一个数据库对于本地开发是可以的 - 当您不关心每次重新启动容器时您所做的更改是否会丢失。

目前,如果您的容器因任何原因而死亡,或者您因任何原因需要重新启动,那么您的数据将会丢失。

在需要时使用nsenter(如下所述)附加到正在运行的容器:

  • 在主机上安装mysql
  • 附加到正在运行的容器并执行数据库的mysqldump
  • scp从容器到主机的.sql文件
  • 将数据库导入主机上的mysql
  • 将您的Wordpress站点指向主机数据库

我看待Docker项目是否设置正确的方式是:

如果您无法以自动方式返回目前容器当前的位置,那么您就会做错事

简答:

使用nsenter附加到您的容器并进行所需的更改。

并祈祷您的容器没有任何问题,这样您就不会丢失数据。