当前位置: 首页 > article >正文

docker 搭建php 开发环境 添加扩展redis、swoole、xdebug(1)

docker-compose搭建lnmp
先决条件
首先需要安装docker

安装docker-compost

1、创建lnmp工作目录

#创建三个目录
mkdir lnmp && cd lnmp
mkdir -p nginx/conf php mysql/data lnmp/www#编写nginx 配置文件  nginx/conf/default.conf
vim nginx/conf/default.confserver {listen       80;root   /usr/share/nginx/html;index   index.html index.htm index.php;# redirect server error pages to the static page /50x.html#error_page   500 502 503 504  /50x.html;location = /50x.html {root   /usr/share/nginx/html;}location / {index  index.html index.htm index.php ;try_files $uri $uri/ /index.php?$query_string;autoindex  on;}location ~ \.php$ {#php73是容器命名fastcgi_pass   php:9000;fastcgi_index  index.php;include        fastcgi_params;fastcgi_param  PATH_INFO $fastcgi_path_info;fastcgi_param  SCRIPT_FILENAME  /var/www/html/$fastcgi_script_name;}}

2、编写php镜像文件Dockerfile

因为php需要安装一些扩展文件 使用dockerfile进行镜像构建

vim php/Dockerfile# 基础
FROM php:7.2-fpm# 修改时区
ENV TZ Asia/Shanghai
RUN date -R# 换源
RUN echo 'deb http://mirrors.ustc.edu.cn/debian stable main contrib non-free' >/etc/apt/sources.list
RUN echo 'deb http://mirrors.ustc.edu.cn/debian stable-updates main contrib non-free' >>/etc/apt/sources.list
RUN apt-get update --fix-missing && apt-get install -y libpng-dev libjpeg-dev libfreetype6-dev  \&& docker-php-ext-configure gd --with-freetype-dir=/usr/include --with-jpeg-dir=/usr/include/jpeg \&& docker-php-ext-install gd mysqli opcache pdo_mysql gd zipENV PHPREDIS_VERSION 5.0.1
ENV PHPXDEBUG_VERSION 2.6.0
ENV PHPSWOOLE_VERSION 4.5.10RUN pecl install redis-$PHPREDIS_VERSION \&& pecl install xdebug-$PHPXDEBUG_VERSION \&& pecl install swoole-$PHPSWOOLE_VERSION \&& docker-php-ext-enable redis xdebug swooleRUN php -r "copy('https://getcomposer.org/installer', 'composer-setup.php');" \&& php composer-setup.php \&& php -r "unlink('composer-setup.php');" \&& mv composer.phar /usr/local/bin/composer \&& composer config -g repo.packagist composer https://packagist.phpcomposer.com
RUN apt-get install -y gitRUN rm -rf /var/cache/apt/* \&& rm -rf /var/lib/apt/lists/*
RUN mkdir /var/lib/sessions \&& chmod o=rwx -R /var/lib/sessions
#容器启动时执行指令
CMD ["php-fpm"]
http://www.lryc.cn/news/2387261.html

相关文章:

  • 人脸识别技术合规备案最新政策详解
  • (16)高性能风控系统设计
  • AStar低代码平台-脚本调用C#方法
  • 企业级RAG技术实战指南:从理论到落地的全景解析
  • getline()跳过输入
  • 【八股战神篇】RabbitMQ高频面试题
  • 高阶数据结构——红黑树实现
  • 互联网大厂Java求职面试:AI与大模型应用集成中的架构难题与解决方案
  • 安卓学习笔记-声明式UI
  • AI天气预报进入“大模型时代“:如何用Transformer重构地球大气模拟?
  • 本地项目如何设置https(2)——2025-05-19
  • 数据结构第3章 线性表 (竟成)
  • JAVA面试复习知识点
  • 项目中的流程管理之Power相关流程管理
  • SLOT:测试时样本专属语言模型优化,让大模型推理更精准!
  • 《计算机组成原理》第 10 章 - 控制单元的设计
  • 【数据结构与算法】模拟
  • PyTorch入门-torchvision
  • LVS负载均衡群集技术深度解析
  • 18、Python字符串全解析:Unicode支持、三种创建方式与长度计算实战
  • 5月27日复盘-Transformer介绍
  • CSV数据处理全指南:从基础到实战
  • MyBatis-Plus一站式增强组件MyBatis-Plus-kit(更新2.0版本):零Controller也能生成API?
  • 实时数仓flick+clickhouse启动命令
  • 【Git】Commit Hash vs Change-Id
  • Netty学习专栏(六):深度解析Netty核心参数——从参数配置到生产级优化
  • 服务器磁盘按阵列划分为哪几类
  • 在WPF中添加动画背景
  • 【KWDB创作者计划】_KWDB分布式多模数据库智能交通应用——高并发时序处理与多模数据融合实践
  • Android 中的 ViewModel详解