Warning: file_get_contents(/data/phpspider/zhask/data//catemap/1/php/277.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Php 使用Docker同时运行多个web开发环境_Php_Docker_Lamp - Fatal编程技术网

Php 使用Docker同时运行多个web开发环境

Php 使用Docker同时运行多个web开发环境,php,docker,lamp,Php,Docker,Lamp,我的任务是维护几个web应用程序,它们都使用LAMP堆栈。其中一些在PHP5.6上运行,一些在PHP7.0上运行,一些使用Wordpress,一些使用Symfony。。。理想情况下,我希望在家中设置与生产环境尽可能相同的测试/开发环境 我一直在调查Docker(警告:这里完全是新手!),看看它是否适合我的需要。我将在Windows和Mac上工作,我希望在我的机器上有几个LAMP环境,每个环境都有其版本的PHP/MySQL/等,彼此隔离,并且所有环境都运行在同一个VM中(因为否则我可能只需要使用我

我的任务是维护几个web应用程序,它们都使用LAMP堆栈。其中一些在PHP5.6上运行,一些在PHP7.0上运行,一些使用Wordpress,一些使用Symfony。。。理想情况下,我希望在家中设置与生产环境尽可能相同的测试/开发环境

我一直在调查Docker(警告:这里完全是新手!),看看它是否适合我的需要。我将在Windows和Mac上工作,我希望在我的机器上有几个LAMP环境,每个环境都有其版本的PHP/MySQL/等,彼此隔离,并且所有环境都运行在同一个VM中(因为否则我可能只需要使用我熟悉的并设置不同的VM)。Docker能做到吗

(如果这听起来像一个愚蠢的问题,很抱歉:阅读关于Docker的文章,我的印象是容器哲学允许您精确地执行我描述的操作,而不会像VMs那样浪费资源,但是,我还没有找到任何关于同时运行多个LAMP环境的指南)。

Php Docker Stack Php Docker stack用于在生产和开发中运行Php应用程序,使用Docker Compose服务运行任何Php版本、数据库、缓存、队列、日志和更多

从现在起,无需一直在操作系统上捣乱,就可以拥有一个完整的开发堆栈来构建我们令人敬畏的Php应用程序

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

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

每个服务都有一些默认映像,但都可以通过
.env
进行配置,因此我们可以在docker compose文件中为任何受支持的服务传递所需的任何docker映像

Php Docker堆栈服务:

  • Http-Nginx、Apache等
  • Php-PHPFPM
  • 数据库-Perconna、MariaDB、Mysql等
  • 缓存-Redis、MemCached等

  • Logs-Logstash->ElasticSearch好的,过了很长时间,我想我应该分享我找到的解决方案,我现在正在使用的:。这真是太棒了,一旦你想好了,它就变得异常强大、灵活和可定制。

    Docker与VM的概念相同,只是所有容器都共享同一个来宾操作系统,而不是单独的来宾操作系统。这意味着它们可以在容器(CPU/RAM)之间动态地共享资源。与VirtualBox不同,VirtualBox无论是否需要,都会占用大量资源;这意味着您可以告诉容器使用1GB的RAM,但容器会将它没有使用的东西返回给主机,这与VM不同。也许您想要“Docker Compose”@scuzy:据我所知,Docker Compose允许您在一个环境中“链接”多个容器:nginx+PHP+MySQL,等等,但我想问的是,在一个虚拟机中是否可以同时拥有多个这样的“链”。看起来下面提到的“Php Docker堆栈”就是我要找的东西,所以我会去看看。听起来很有趣!我一定去看看。谢谢。我从未在MAC或Windows中使用过它,因此我不确定它是否能正常工作,但请在回购协议中打开一个问题让我知道。