如何在nginx和php容器之间进行通信
我有PHP web application
,我想转换成docker
。
我有这些容器
mysql php nginx
我的主机文件夹中有源代码/var/www/site1
现在当我启动nginx的时候,我可以挂载site1
到nginx作为/usr/nginx/share/html
但我不知道如何链接与PHP Conainer。 我不能独立PHP容器只安装PHP或我需要有一些networking服务器与PHP
我对Docker容器的看法是,每个容器通常代表一个进程 。 比如你的例子中的mysql或者nginx 。 容器通常使用networking或卷上的共享文件相互通信。
每个容器都运行自己的操作系统(通常在Dockerfile
的FROM
指定),在这种情况下,您build议nginx Dockerfile
在一个进程中运行一个操作系统,并且php-libraries运行在不同的进程(在不同的操作系统),我不确定这是否可行,但似乎是一种奇怪的做事方式。
我的build议是你创build两个容器:
-
nginx+php
– 这个容器包含PHP安装以及Nginx的东西 -
mysql
– 这个容器包含数据库
容器可以通过传统的networking或链接的容器进行通信。
但是,您希望执行的PHP文件(即您的网站)应该作为数据卷dynamic装载到nginx+php
容器或数据卷容器中 。