我目前正在尝试使用NGINX和PHP-FPM Docker容器设置PHP开发环境.

现在,我知道这可以通过运行两个服务的单个容器,也可以通过多个容器设置来实现,其中每个服务都在自己的容器中运行(这是基于我到目前为止的研究).

我的问题可以分为两个问题:

>如何使用多容器解决方案设置多个不同的PHP应用程序并使它们彼此通信?

我是否必须为每个PHP-FPM设置一个NGINX容器,还是可以设置一个NGINX容器并与多个不同的PHP-FPM一起使用?

>对于开发环境,多容器解决方案是否甚至是一个好的解决方案?还是我完全错了?

在此先感谢,任何提示将不胜感激!

解决方法:

既然您正在询问多容器环境,那么我相信您正在为应用程序使用Docker compose.为了更详尽地回答您的问题.

1)假设我们在docker compose中有三个容器,一个用于nginx,一个用于laravel的fpm容器,另一个用于magento的fpm容器.那么您的docker compose文件将如下所示.以下片段仅是示例

nginx:

image: nginx:latest

ports:

- "80:80"

- "443:443"

links:

- "fpmlaravel"

- "fpmmagento"

fpmlaravel:

image: php:latest

volumes:

- ./data/laravel/:/var/www/laravel

links:

- "nginx"

fpmmagento:

image: php:latest

volumes:

- ./data/magentoroot/:/var/www/magento

links:

- "nginx"

magento的Nginx vhost文件将是

# PHP back end

upstream backend {

server fpmmagento:9000;

}

server {

listen 80;

server_name www.magento.dev magento.dev;

root /var/www/magento;

location ~ \.php${

fastcgi_split_path_info ^(.+\.php)(/.+)$;

fastcgi_pass backend;

fastcgi_index index.php;

include fastcgi_params;

fastcgi_param HTTPS $fastcgi_https;

fastcgi_param SCRIPT_FILENAME $document_root$fastcgi_script_name;

fastcgi_param SCRIPT_NAME $fastcgi_script_name;

fastcgi_param MAGE_RUN_TYPE $mage_type;

fastcgi_param MAGE_RUN_CODE $mage_code;

}

}

对于fpm,请确保fpm映像正在侦听端口9000.

2)是,可以有一个nginx容器,该容器基于nginx虚拟主机在不同的fpm后端之间路由.但是,通常,这被认为是不好的做法,因为Docker的主要思想是隔离您的应用程序.

标签:nginx,docker,php

来源: https://codeday.me/bug/20191111/2019508.html

php docker开发环境,使用Docker的PHP开发环境相关推荐

  1. 20分钟完成Mac上的 LNMP 环境部署,优雅·高效开发(Docker方式)

    一.前言 对于很多开发者来说,突然转到在 mac 系统开发,可能会非常难受,主要有以下几个原因 1.mac 上安装软件程序坑多,比如安装 PHP.Nginx,会存在很多使用 linux 或 windo ...

  2. docker初识_初识 docker 搭建自己的开发环境

    换了一台设备,程序猿嘛第一件事肯定是先把开发环境搭建起来,以前为了方便都是搞的集成环境,这次准备下载集成环境的时候,突然想起 docker 这个东西,在下虽然了解一些概念性的东西但一直为曾实践.人嘛, ...

  3. docker mysql 操作_[Docker] Docker 快速搭建本地MySQL开发环境

    [Docker] Docker 快速搭建本地MySQL开发环境 关于 Docker 的安装使用本文不再赘述,有兴趣的可以通过官网或是浏览我的专栏文章了解.今天着重给大家介绍下如何利用Docker快速搭 ...

  4. 用Docker搭建Laravel和Vue项目的开发环境

    在这篇文章中我们将通过Docker在个人本地电脑上构建一个快速.轻量级.不依赖本地电脑所安装的任何开发套件的可复制的Laravel和Vue项目的开发环境(开发环境的所有依赖都安装在Docker构建容器 ...

  5. 我的Go+语言初体验——在Docker建立一个可以用Go+语言开发的容器环境(以Ubuntu容器为例)

    前言 "我的Go+语言初体验" | 征文活动进行中...... 作为一名嵌入式软件工程师的我,在工作中使用高级语言开发的场景不多,但技术的迭代大部分偏向于应用层开发,身为程序员的一 ...

  6. Day15(Js入门、jquery入门、ajax入门、前后端分离开发跨域问题、linux环境准备、jdk_tomcat环境搭建、docker介绍及应用(docker安装、基本命令、安装tomcat))

    js入门 js代码辅助 window–>preferences–>javaScript–>Content Assist .abcdefghijklmnopqrstuvwxyz alt ...

  7. spring boot 与 iview 前后端分离架构之开发环境基于docker的部署的实现(三十六)

    spring boot 与 iview 前后端分离架构之开发环境基于docker的后端的部署的实现(三十六) 公众号 基于docker的后端的部署 安装mysql数据库 创建数据库 安装redis 安 ...

  8. 《最详细的docker+php开发环境教程》(五) 搭建开发环境概要

    环境部署方式的优缺点 环境部署需要很多东西,也是开发过程与项目上线必须要考虑的一个重要环节,随着项目的迭代更新,系统会越来越庞杂,其所依赖的环境也会需要经常的变动更新,一个基本的项目就至少需要ngin ...

  9. hadoop使用docker安装和使用(单节点适合开发环境)

    本人亲测可用大家放心安装,本文适合开发环境搭建,不喜勿喷 安装环境 centos7.2 docker 18.06.0-ce(这个安装参考我的另外一篇博客https://blog.csdn.net/qq ...

  10. 开发环境中Docker的使用

    一. Ubuntu16.04+Django+Redis+Nginx的Web项目Docker化 1.创建Django项目的image # 创建项目image 执行 docker build -t ccn ...

最新文章

  1. 时光煮雨 Unity3D实现2D人物移动-总结篇
  2. maven provided_Maven 教程之 pom.xml 详解
  3. FIle类常用工具方法整理(持续更新)
  4. 滴滴 App 强制调取用户通讯录;子弹短信仍能泄露信息;特朗普炮轰谷歌 | 极客头条...
  5. Windows Azure 社区新闻综述(#78 版)
  6. PYTHON_错误处理
  7. 【Python】python基础语法 编码
  8. c oracle 参数赋值,利用c#反射实现实体类生成以及数据获取与赋值
  9. Shine Effect
  10. VUE 3文件上传 Change事件无效 和 unsupported media type 415
  11. 最专业逻辑图和最专业项目文档制作实战讲解
  12. 大一计算机课总结400字,第一学月总结400字以上
  13. 电子元器件B2B商城系统授信大额支付,精细化B2B平台管理
  14. 同一个页面显示多个html界面,浏览器怎么设置在同一个界面/窗口打开多个网页...
  15. 海思android随笔之工厂菜单PQ acm color调用流程
  16. allegro17.4的brd文件用AD打开
  17. 指令系统 —— 指令格式
  18. 从零开始的Linux 阿里云ECS服务器搭建、FileZilla和宝塔
  19. 将数字转化为千分位形式
  20. 分类模型评价指标说明

热门文章

  1. IC-工具篇--VCS使用教程-卷二(202004013)
  2. 【PC工具】更新文件夹多文件群体比较工具WinMerge
  3. 基于GRNN神经网络的数字预失真系统的FPGA实现
  4. python之人脸识别
  5. maven deploy jar包到远程仓库400
  6. 网盘纷退场 “云存储”仍是刚需
  7. Ant Design 3.0 使用案例
  8. 通过调整Linux内核参数提升网络性能
  9. php session redis 配置
  10. 解决在ESXi的虚拟化环境中的FreeNAS里Jails插件无法被访问到的问题