linux - 更改 Docker 容器

标签 linux wordpress docker

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

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

最佳答案

长答案:

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

在您的容器中拥有一个数据库对于本地开发是没问题的 - 当您不关心每次重新启动容器时您所做的更改是否丢失。

此时,如果您的容器因任何原因挂掉,或者如果您因任何原因需要重新启动它,您的数据将会丢失。

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

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

我查看我的 Docker 项目是否设置正确的方式是这样的:

如果您无法以自动方式返回容器当前所在的位置,则说明您做错了什么

简答:

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

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

关于linux - 更改 Docker 容器,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/25005305/

相关文章:

linux - 在linux-kernel中打开设备文件和错误代码

linux - 检查字体是否等宽

linux - 执行两个字节

wordpress - 根据用户付款选择 woocommerce 设置结帐税

regex - BASH 查找大量文件中任意范围数字的正则表达式

html - 在同一行对齐文本和图像后出现奇怪的 html 格式

php - 排队包含 PHP 变量的 WP 脚本

mysql - mysql和tomcat的Kubernetes之间的服务间通信

reactjs - 在生产构建中 react 安全环境变量

docker - 从一个容器执行代码到另一个容器(即,从API容器在工作容器上执行脚本)