【发布时间】:2020-11-04 07:04:32
【问题描述】:
我希望了解将 Composer (PHP) 融入我的 Docker WordPress 开发工作流程的最佳实践。
我刚刚开始使用 Docker 和 Composer 进行 PHP/WordPress 开发。这有点陡峭的学习曲线,但就我阅读大量指南和教程而言,这一切似乎都很有意义。
我有 Docker 工作并且(我认为)对如何/为什么使用它有很好的理解。我知道 Docker 的一个好处是我不需要修改我的主机操作系统,即安装 PHP 和 Composer,而且它可以轻松移动,因为它包含了所需的一切。许多教程似乎都在主机操作系统上安装了 Composer 和 PHP,因为设置项目的第一步是使用 Composer 在主机操作系统上拉下 Roots Bedrock 之类的东西,然后将此目录用作 Docker 中的卷。据我目前了解,这不是最好的方法,因为我正在修改主机操作系统并且项目容器不包含运行所需的所有内容。
我对更好方法的最佳猜测是一个专用的 Composer 容器,它将我的整个项目目录(包含我所有不同的项目)作为一个卷。然后,我可以在此容器中的相应项目目录中运行 Composer 命令。我对此的坚持是,每个项目容器也不包含运行所需的所有内容(Composer)。所以我的下一个想法是每个项目都应该有一个自己的 Composer 容器。这将导致每个项目都有以下容器:WordPress 官方镜像、MariaDB、phpMyAdmin、Composer。我不确定这是否会使每个项目都使用 4 个容器过大?
如果有人能够就执行此操作的最佳实践方法以及我非常感激的原因提供建议!谢谢! :)
【问题讨论】:
-
不久前,我在stackoverflow.com/a/34215978/684908 上整理了一个示例。我认为要点仍然是相关的。但是,一般问题有点含糊,很难回答,因为适合您的正确工作流程可能与其他人不同。
-
为什么不简单地使用包含源代码 和 Composer 的 Docker 映像进行开发?那是另外一个文件
-
@NicoHaase 你的意思是不要使用 WordPress 图像(包含 PHP),而是使用 Nginx 图像之类的东西并添加 Composer 吗?抱歉,我对这个工作流程还是很陌生,所以不完全理解。
-
@AndyShinn 谢谢!我现在正在通读。听起来这是它自己的专用 Composer 容器,我只是为我正在处理的当前项目启动一个卷,然后在我需要处理另一个项目时交换卷?感谢帮助。只是寻找一个好的最佳实践起点。
-
只需扩展 Wordpress 图像,安装 Composer 即可完成
标签: php wordpress docker docker-compose composer-php