【发布时间】:2020-07-14 05:24:44
【问题描述】:
网络上至少有十几个关于如何使用 Docker 设置 Laravel 应用程序的教程。他们都使用的基本设置是 3 个 Docker 容器:
- nginx 容器
- php-fpm 容器
- mysql 容器
Nginx 和 PHP-fpm 容器依赖于共享卷。 HTTP 请求进入 Nginx 以获取共享卷上的文件。 Nginx 将请求交给 PHP-fpm。 Php-fpm 还可以访问共享卷中的文件,因此它可以运行脚本。
对于开发来说,这太棒了。我可以编辑共享卷中的文件并立即测试更改。但我质疑我是否希望将其用于生产。我真的希望我的任何代码都在运行 Docker 的服务器上吗?这似乎首先破坏了 Dockerising 的一些目的。似乎我希望代码在运行 nginx 和 PHP-fpm 的 Docker 容器中自包含(数据库可以是托管环境中的单独容器或服务)。
我的想法在这里正确吗?在 Docker 中部署 Laravel 进行生产的最佳实践是什么?
【问题讨论】: