首页 > 解决方案 > 用于各种 vhost 配置的通用 docker 映像

问题描述

我正在寻找一种将我的 php web 应用程序部署到基于 Ubuntu 18.04 和 Apache 2.4 的本地 docker 容器的良好做法。

根据应用程序的类型,它的基本文件是myapp/public/index.php(Laravel) 或只是myapp/index.php(plain vanilla php)。当然,我可以将应用程序安装到/var/www/html/myapp任何其他位置。

选项 1(固定 /etc/hosts、apache2.conf 和 vhosts):

  1. 对于每个应用程序,添加127.0.0.1 myapp到我的本地/etc/hosts文件,以便它重定向到 docker 容器。

  2. 在我的/etc/apache2/apache2.conf文件中,将文档根目录设置为/var/www/html

  3. 对于每个 Web 应用程序,在/etc/apache2/sites-available

优点:

缺点:

选项 2(使用 .htaccess):

  1. /etc/apache2/apache2.conf并且/etc/apache2/sites-available仅定义 Web 根目录:/var/www/html

  2. 将应用挂载为 Web 根目录的子目录:/var/www/html/myapp_1

  3. .htaccess在相应的文件夹中使用myapp来配置应用程序。它们应该可以在http://localhost/myapp_1等处访问。

优点:

缺点:

我的问题

将两种方法的优点结合起来的良好做法是什么?你会选择哪个选项?有没有我没有提到的另一种选择?

标签: phplaravelapachedockerwebserver

解决方案


推荐阅读