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

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.xdnf.cn/news/668449.html

相关文章:

  • Qt不同布局添加不同控件
  • 模型评价指标介绍
  • Spark、Hadoop对比
  • Excel 操作 转图片,转pdf等
  • Go语言中的浮点数类型详解
  • Kotlin 中 Lambda 表达式的语法结构及简化推导
  • 学习黑客 Metasploit 主要组件之Encoder
  • MS1826+MS2131 1080P@60Hz 4路输入输出USB3.0采集
  • 通过ansible playbook创建azure 资源
  • 解决ubuntu服务器未使用空间的分配
  • c++复习_第一天(引用+小众考点)
  • c#,vb.net使用OleDb写入Excel异常:字段太小而不能接受所要添加的数据的数量
  • etcd:高可用,分布式的key-value存储系统
  • 鸿蒙OSUniApp 实现登录状态管理与持久化#三方框架 #Uniapp
  • 如何通过ES实现SQL风格的查询?
  • linux快速入门-VMware安装linux,配置静态ip,使用服务器连接工具连接,快照和克隆以及修改相关配置信息
  • 【机器学习基础】机器学习入门核心算法:逻辑回归(Decision Tree)
  • 第一章 LVS 负载均衡群集核心概念与体系架构
  • 计算机网络实验课(三)——直接使用数据构造以太网帧,打包并发送|使用SharpPcap库函数构造以太网帧,并发送出去
  • 哈希算法:原理、应用、安全演进与推荐
  • 学习路之PHP--easyswoole入门及文件热加载
  • 织梦dedecms arclist最新发布日期显示红色
  • Android 15 控制亮屏灭屏接口实现
  • WPF【11_2】WPF实战-重构与美化(Entity Framework)-示例
  • 数据仓库基础知识总结
  • Python-ArcGIS蒸散发组分解析与GPP估算技术
  • 数据中台(大数据平台)之数据仓库建设
  • LLM+RAG:文本分块处理策略
  • Apache DolphinScheduler存储系统详解| AI生成技术文档系列
  • Vue3进阶教程:1.初次了解vue