【问题标题】:docker, vagrant sandboxes in php developmentdocker,php开发中的流浪沙箱
【发布时间】:2019-05-10 01:40:00
【问题描述】:

我有一个误解,我想为 PHP 项目找到开发沙箱环境的最佳方法。

我有一个 github 存储库,它将托管代码、.php、.js(将使用带有 babel 的 webpack)、.scss 文件和用于开发的不同机器(windows、mac、ubuntu)。

我希望能够从 git hub 提取代码,运行命令(如 vagrant up)并使用 apache2、php、nodejs 启动一个 VM/容器/沙箱,以解析 .scss 文件和 .js 文件合为一体,然后能够在每个平台上启动服务器,而无需在开发人员 PC 上本地运行 gulp,然后使用 apache2 http 文件夹的正确路径安装 XAMPP。

最好的方法是什么?要在 repo 或 docker 容器上使用带有文件配置的 vagrant VM 吗?

我只是想简化开发体验,并拥有启动服务器、编译 sass 和 babel js 的自动化工具。

谢谢

【问题讨论】:

    标签: docker vagrant docker-machine vagrant-windows vagrant-provision


    【解决方案1】:

    虽然我是 Docker 的忠实粉丝,但它并不总是适合这项工作的工具。 Docker 具有不变性和每个容器单一服务等原则,如果没有学习曲线,这些原则可能无法很好地满足您的需求。

    有一个很棒的开源 Vagrant 工具,名为 PuPHPet,它使配置开发环境变得简单。

    https://puphpet.com/

    在 PuPHPet 网站上,您可以通过其向导使用 Apache2、PHP 和 NodeJS 配置图像,它会生成一个 Vagrant 文件,您可以在工作站上本地运行该文件。通过这种方式,您可以获得所需的所有软件,而无需自行安装/维护。如果需要,它还支持安装数据库、队列和邮件应用程序。

    对于您的场景,我会将代码从 Github 克隆到您的工作站(而不是 VM)并使用 Synced Folders 针对 Vagrant 安装它,但您的 IDE 仍然可以直接访问它。

    【讨论】:

    • 嗯,这很有趣,我还从 Laravel 找到了 Homestead,laravel.com/docs/5.7/homestead
    • Laravel 的 Homestead 也是一个很好的工具。你的问题没有提到你的 PHP 框架,但我敢打赌你可以让任何一个工具工作。
    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2010-12-19
    • 2012-08-31
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多