我在Docker instance中运行了Wordpress安装。我遇到了电子邮件问题,可能是由于sendmail
丢失了。如果确实我必须将sendmail
添加到容器中,那么预期的方式是什么?我已经看到了lxc hacks,但它总是声明或者至少暗示这不符合Docker应该如何工作的意图。我决定使用Docker来获取我的Wordpress网站,因为我已经安装了一个运行HTTP系统服务的系统,基本上切断所有内容(Apache,PHP,MySQL等)的想法真的很吸引我。然后我可以备份整个容器并在需要时将其整个移动到另一个系统。
为了尽可能直接地陈述我的问题,修改正在运行的容器的哪种方法最适合Docker的预期设计?我应该如上所述通过lxc-attach尝试ad-hoc bash提示吗?或者是否有更合适的方法,例如使容器成为新图像(保留所有WP数据)并修改图像然后重新启动容器?
答案 0 :(得分:2)
答案很长:
我建议您更改项目的结构方式。
在您的容器中放置一个数据库对于本地开发是可以的 - 当您不关心每次重新启动容器时您所做的更改是否会丢失。
目前,如果您的容器因任何原因而死亡,或者您因任何原因需要重新启动,那么您的数据将会丢失。
在需要时使用nsenter
(如下所述)附加到正在运行的容器:
mysql
mysqldump
scp
从容器到主机的.sql文件我看待Docker项目是否设置正确的方式是:
如果您无法以自动方式返回目前容器当前的位置,那么您就会做错事。
简答:
使用nsenter附加到您的容器并进行所需的更改。
并祈祷您的容器没有任何问题,这样您就不会丢失数据。