我需要部署同一LAMP(或LEMP)应用程序的许多实例:
申请要求:
Nginx
,MariaDB
,PHPFPM
)composer
,bower
,…)阅读Docker文档和许多方法之后,我将看到用于此Web应用程序的不同解决方案:
所有堆栈都放在一个容器中:
mysql
和webapp数据文件的已安装卷例子 :
Tutum
为Wordpress应用程序提供了一个多合一的容器:https : //github.com/tutumcloud/tutum-docker-wordpressPhusion
,其中提供了针对Docker优化的基础映像,并在文档中进行了详细说明(https://github.com/phusion/baseimage-docker#docker_single_process):Docker可以在容器中的多个进程中正常运行。实际上,没有技术原因可以限制您只使用一个过程
优点 (恕我直言):
缺点 (恕我直言):
对于要部署的每个Web应用程序,都会部署一个容器堆栈:
Nginx
,Mysql
,PHP-FPM
,composer
,,bower
…)也可以进行docker化,或合并到phpfpm容器中例子 :
Gaudi
提供了一个LEMP架构示例,该架构基于3个“ daemon”容器(nginx,mysql,phpfpm)和2个应用容器(composer,bower)(http://marmelab.com/blog/2014/06/04 /demo-symfony-with-docker-and-gaudi.html)专业版 (恕我直言):
缺点 (恕我直言):
我比Ops更能开发,也让我感到困惑。
因此,问题:
我最近在Docker上针对此类设置进行了分析。我知道有些人将Docker视为一种MicroVM,但我的观点是Docker理念更倾向于每个容器使用单个进程。这与编程中的“单一责任”原则保持了良好的一致性。Docker容器执行的越多,可重用性就越低,并且管理起来就越困难。我在这里发表了所有想法:
http://software.danielwatrous.com/a-review-of-
docker/
然后,我继续使用Docker构建LEMP堆栈。将PHP和Nginx进程拆分为单独的Docker容器并没有太大价值,但是Web和数据库功能位于单独的容器中。我还将展示如何管理链接和卷共享,以避免在容器中运行SSH守护程序。您可以按照我在此处所做的工作作为参考。
http://software.danielwatrous.com/use-docker-to-build-a-lemp-stack-
buildfile/
关于增加每个容器的单个功能的 复杂性
的观点,您是正确的。外观和感觉就像您具有不同的分布式层。大型应用程序已经这样做了多年,并且确实增加了通信,安全性和管理方面的复杂性。当然,它也带来许多好处。
我需要部署同一个LAMP(或LEMP)应用程序的许多实例: 每个实例都可以通过前端LoadBalancer/Proxy从子域访问 每个实例必须有自己的db数据和文件数据。 可以监视每个实例 可以为每个应用程序实例设置内存限制/cpu 易于自动部署新webapp实例 环境可以很容易地进行测试和开发。 应用程序要求: null null 示例: > 为Wordpress应用程序提供了一个多功能容器:h
这是我的Compose.yml 我遇到一些问题,当发送消息到服务器时,server1显示连接,并显示GET消息,但下次发送时,server2显示GET消息 如何使其成为“我连接的服务器就是我发送消息到的服务器”?
我正在使用 Spring 框架和 Spring 数据,我需要在处理完成时锁定数据库表中的特定行,因此在处理完成之前,没有其他人可以访问数据并更改它。同时,我正在运行同一应用程序的多个实例。 的使用是否会以这样的方式锁定数据库中的特定行,即当一个应用程序实例访问该行时,同一应用程序的其他实例将无法访问该行,而这些实例可以同时尝试从数据库访问同一行? 有一个问题讨论了锁类型之间的差异,与。明确地说,我
我想第一次使用docker发布我在spring boot中制作的应用程序。然而,在发布时出现了一个问题。 因此,我上传到conter的图像不显示。 以下是我采取的步骤,我将立即添加我使用gradle的步骤。 > 我将Docker插件下载到IntelliJ 我创建了一个Dockerfile,其中我放了: 音量 /tmp ARG JAR_文件 在终端中,我键入以下命令来构建项目: chmod 777
solver_1 2019-01-04 22:55:15.698警告1---[main]O.H.Engine.jdbc.spi.sqlexceptionHelper:SQL错误:0,sqlstate:08s01 solver_1 2019-01-04 22:55:15.698错误1---[main]O.H.Engine.jdbc.spi.sqlexceptionHelper:通信链接失败solve
我正在使用docker compose创建一个react应用程序。Dockerfile文件和docker文件组成。yml已创建,但生成应用程序时出错。 Dockerfile docker-compose.yml 文件夹体系结构是: docker撰写。yml docker应用程序/软件包。json应用程序/src/ 执行docker compose up-d--build命令时,会出现以下错误。 构