【问题标题】:Using Docker to run several web development environments at the same time使用 Docker 同时运行多个 Web 开发环境
【发布时间】:2019-06-23 02:51:51
【问题描述】:

我的任务是维护几个网络应用程序,所有这些应用程序都使用 LAMP 堆栈。其中一些在 PHP 5.6 上运行,其中一些在 PHP 7.0 上运行,一些使用 Wordpress,一些使用 Symfony... 理想情况下,我想在家中设置与生产环境尽可能相同的测试/开发环境。

我一直在研究 Docker(警告:这里是新手!),看看它是否适合我的需要。我将在 Windows 和 Mac 上工作,我想在我的机器上拥有几个 LAMP 环境,每个环境都有自己的 PHP/MySQL/etc 版本,彼此隔离,并且都在同一个环境中运行虚拟机(因为否则我还不如只使用我熟悉的东西并设置不同的虚拟机)。 Docker 能做到吗?

(对不起,如果这听起来像一个愚蠢的问题:阅读 Docker,我的印象是容器理念允许您精确地做我描述的事情,而不会像使用虚拟机那样浪费资源,但是,我还没有找到任何关于同时运行多个 LAMP 环境)。

【问题讨论】:

  • Docker 与 VM 具有相同的概念,只是所有容器共享相同的 Guest OS,而不是拥有单独的 Guest OS。这意味着它们可以在容器(CPU/RAM)之间动态共享资源。与 VirtualBox 不同,不管它是否需要,它都会占用大量资源;所以这意味着你可以告诉容器使用 1GB 的 RAM,但是,与 VM 不同,容器会将它不使用的内存返回给主机。
  • 也许你想要“Docker Compose”docs.docker.com/compose
  • @Scuzzy:根据我的阅读,Docker Compose 允许您在一个环境中“链接”多个容器:nginx + PHP + MySQL 等。但我要问的是你是否可以在一个虚拟机中同时拥有多个这样的“链”。看起来下面提到的这个“Php Docker Stack”就是我要找的东西,所以我会检查一下。

标签: php docker lamp


【解决方案1】:

PHP Docker 堆栈

Php Docker 堆栈在生产和开发中运行 Php 应用程序,使用 Docker Compose 服务来运行任何 Php 版本、数据库、缓存、队列、日志等等......

从现在开始,无需再为操作系统而烦恼,即可准备好完整的开发堆栈来构建我们出色的 Php 应用程序。

可以通过composer包含在每个php项目中:

https://packagist.org/packages/exadra37-docker/php-docker-stack

或者,如果您愿意,可以直接从 here 克隆它。

它为每个服务提供了一些默认图像,但都可以通过.env 进行配置,因此我们可以在 docker compose 文件中为任何受支持的服务传递我们想要的任何 docker 图像。

Php Docker 堆栈服务:

  • Http - Nginx、Apache 等
  • Php - Php-Fpm。
  • 数据库 - Perconna、MariaDB、Mysql 等
  • 缓存 - Redis、MemCached 等
  • 日志 - Logstash -> ElasticSearch
  • 队列 - Beenstalkd、RabbitMQ、ActiveMQ、Apache Kafka 等
  • Cron 作业 - 仅用于安排 cron 作业。
  • Dev CLI - 访问容器外壳。
  • 数据库 CLI - 就像很棒的 mysql 的 mycli propmt。
  • 缓存 CLI - 类似于 redis cli。

我在以前的工作中每天都在使用它进行开发。

我是它的作者,我有一些需要在上游完善和合并的本地增强功能。

请随意尝试,如有任何疑问或反馈,请联系我。

【讨论】:

  • 听起来很有趣!我一定会检查出来的。谢谢。
  • 我从未在 MAC 或 Windows 中使用过它,因此我不确定在那里是否可以正常工作,但如果不能在 repo 中打开问题,请告诉我。
【解决方案2】:

好的,经过很长时间,我想我应该分享我找到的并且我目前正在使用的解决方案:devilbox。它太棒了,一旦你开始熟悉它,它就会非常强大、灵活且可自定义。

【讨论】:

    猜你喜欢
    • 2014-02-01
    • 2023-01-26
    • 2011-04-10
    • 1970-01-01
    • 2021-01-21
    • 2022-09-25
    • 2015-03-05
    • 2019-11-29
    • 2018-03-10
    相关资源
    最近更新 更多