如何使用 docker-compose 在 docker 容器中为 Laravel 环境安装 Behat?

Posted

技术标签:

【中文标题】如何使用 docker-compose 在 docker 容器中为 Laravel 环境安装 Behat?【英文标题】:How to install Behat in docker container for Laravel environment using docker-compose? 【发布时间】:2016-10-27 21:59:36 【问题描述】:

我有一个带有 laravel 环境的 docker 容器,我需要在里面安装 Behat 以运行功能,我需要运行 phpunit 测试。

有什么建议吗?

更新:

我有这个环境 Dockervel : http://www.spiralout.eu/2015/12/dockervel-laravel-development.html

我必须做一些在 Behat 中完成的 BDD 应用程序,而且我还需要做一些单元测试。我必须通过 Docker 映像交付这个应用程序。

我已经在 dockervel 中编写了应用程序,它非常简单,但仍然需要添加 behat 并制作 Dockerfile 以便我可以制作图像。

【问题讨论】:

你是如何在容器中挂载你的 laravel 应用程序的? 【参考方案1】:

在您的应用程序代码容器中运行 composer install behat/behat 并像运行任何其他 php / laravel 包一样运行命令。

我不认为仅仅为了测试 / behat / phpunit 添加一个单独的容器真的比将它们都放在同一个容器中更好。

另一方面,在某些情况下,将 NodeJS 和 npm 放在一个单独的容器中会是一个明智的选择。

【讨论】:

我已经更新了 mz 问题。您认为,当我提供上述 docker 映像时,您的解决方案将确保使用此映像的那个可以运行 behat,或者我应该推荐他们这样做 ** 在您的应用程序代码容器中运行 composer install behat/behat 和像任何其他 php / laravel 包一样运行命令。 ** 为了运行 behat ? Behat 只是 PHP 的一个包,仅此而已。我不认为拥有多个带有composer的php容器真的是一个聪明的主意,只是为了运行每个php包。也许你想多了。您和您的团队将更容易为所有 php 和 laravel 包使用相同的容器。我想不出在不同的容器(或任何其他 php 包)上会有什么帮助以及如何帮助你的情况。 谢谢,它让我明白了很多事情,我显然想多了!

以上是关于如何使用 docker-compose 在 docker 容器中为 Laravel 环境安装 Behat?的主要内容,如果未能解决你的问题,请参考以下文章

centos7 安装docker-compose

Doc-Compose

使用 docker-compose 在 Windows 上构建气流时出错

docker-compose

docker-compose 启动容器

docker-compose 和 django 出错