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

docker 使用官方镜像搭建 PHP 环境

一、所需环境:

1、PHP:7.4.33-fpm 的版本

2、Nginx:1.25.1 的版本

3、MySQL: 5.7 的版本

4、Redis:7.0 的版本

       1.1、拉取官方的镜像 

docker pull php:7.4.33-fpm
docker pull nginx:1.25.1
docker pull mysql:5.7
docker pull redis:7.0

二、安装

       2.1、 备注说明

        本次安装使用 docker-compose 进行安装。 由于 PHP、Nginx、MySQL的有些文件需要从容器中复制到宿主机,直接使用数据卷的话,安装会出现一些问题,所以安装之前,需要进行文件的复制。 先简单的启动容器,复制文件成功后,再删除对应的容器。

        2.2、启动容器

docker run --name nginx -p 80:80 -d nginx:1.25.1 /bin/bashdocker run --name php74 -it php:7.4.33-fpm /bin/bashdocker run --name mysql57 -it mysql:5.7 /bin/bash

        2.3、复制文件

a)、PHP:php-fpm.d、php 这两个都是目录

docker cp php74:/usr/local/etc/php-fpm.d /var/docker-data/php/php-fpm.ddocker cp php74:/usr/local/etc/php /var/docker-data/php/conf.d

b)、Nginx:nginx.conf 是文件。 /var/www 是存放PHP代码的目录

docker cp nginx:/etc/nginx/nginx.conf /var/docker-data/nginx/nginx.confdocker cp nginx:/etc/nginx/conf.d /var/docker-data/nginx/conf.ddocker cp nginx:/usr/share/nginx/html /var/www/

c)、MySQL

docker cp mysql57:/etc/my.cnf /var/docker-data/mysql/my.cnf

 PHP、Nginx的目录结构:

        2.4、删除容器:

docker rm -f php74docker rm -f nginxdocker rm -f mysql57

        2.5、编写 docker-compose.yml 文件。 

        docker-compose.yml 文件放在了最后

        三、简单测试:

        Nginx 配置:

server {listen       80;listen  [::]:80;server_name  localhost;root /var/www/test;#access_log  /var/log/nginx/host.access.log  main;location / {index  index.html index.htm index.php;autoindex off;}location ~ \.php(.*)$ {fastcgi_pass   php:9000;fastcgi_index  index.php;fastcgi_split_path_info  ^((?U).+\.php)(/?.+)$;fastcgi_param  SCRIPT_FILENAME  $document_root/$fastcgi_script_name;fastcgi_param  PATH_INFO  $fastcgi_path_info;fastcgi_param  PATH_TRANSLATED  $document_root$fastcgi_path_info;include        fastcgi_params;}}

       四、docker-compose.yml

version: '3.8'
services:php:container_name: php74image: php:7.4.33-fpmrestart: alwaysprivileged: trueports:- "9000:9000"volumes:- "/var/www:/var/www" # php代码目录- "/var/docker-data/php/conf.d:/usr/local/etc/php" - "/var/docker-data/php/php-fpm.d:/usr/local/etc/php-fpm.d"nginx:container_name: nginximage: nginx:1.25.1privileged: truerestart: alwaysenvironment:- TZ=Asia/Shanghaiports:- "80:80"- "443:443"depends_on:- "php"volumes:- "/var/docker-data/nginx/nginx.conf:/etc/nginx/nginx.conf" # 主配置文件-不是目录- "/var/docker-data/nginx/conf.d:/etc/nginx/conf.d"- "/var/www:/var/www" # php代码目录- "/var/docker-data/nginx/log:/var/log/nginx"mysql:image: mysql:5.7container_name: mysql57privileged: truerestart: alwaysports:- "3306:3306"volumes:- /var/docker-data/mysql/data:/var/lib/mysql # mysql数据目录- /var/docker-data/mysql/my.cnf:/etc/my.cnf- /var/docker-data/mysql/log:/var/log/mysql- /etc/localtime:/etc/localtime:ro # 让容器的时钟与宿主机时钟同步,避免时间的问题environment:- MYSQL_ROOT_PASSWORD=123456 # root账户密码redis:image: redis:7.0container_name: redisprivileged: truerestart: alwaysports:- "6379:6379"command: redis-server /usr/local/redis/conf/redis.confvolumes:- /var/docker-data/redis/data:/data- /var/docker-data/redis/conf/redis.conf:/usr/local/redis/conf/redis.conf

相关文章:

docker 使用官方镜像搭建 PHP 环境

一、所需环境: 1、PHP:7.4.33-fpm 的版本 2、Nginx:1.25.1 的版本 3、MySQL: 5.7 的版本 4、Redis:7.0 的版本 1.1、拉取官方的镜像 docker pull php:7.4.33-fpm docker pull nginx:1.25.1 docker pull mysql:5.7 do…...

STM32CubeIDE基础学习-STM32CubeIDE软件偏好设置

STM32CubeIDE基础学习-STM32CubeIDE软件偏好设置 文章目录 STM32CubeIDE基础学习-STM32CubeIDE软件偏好设置前言第1章 设置字体颜色第2章 设置字体大小第3章 设置代码区背景颜色总结 前言 编程软件环境最好就设置一个自己喜欢的界面进行显示,这样看起来会比较舒服些…...

【《高性能 MySQL》笔记】性能优化

学习知识最快最好的方式就是问对问题。 本文将通过“问正确的问题”的方式循序渐进地深入总结性能优化相关知识。 性能优化基础 Q1:什么是“性能”? 即响应时间(RT,Response Time),完成某个任务所需要的时间度量。 Q2:什么是“性能优化”? 性能优化为在一定工作负…...

Spring AOP底层原理

目录 代理模式 静态代理 动态代理 1. JDK动态代理 创建⼀个代理对象并使用 2. CGLIB动态代理 SpringAOP底层原理面试 代理模式 Spring AOP是基于动态代理模式来实现的 代理模式:静态代理模式动态代理模式 代理模式, 也叫委托模式。 定义:为其…...

proteus8.9 示波器放大

proteus8.9 示波器放大** 1. 打开放大:Windows徽标键 加号 2. 取消放大:Windows徽标键 ESC...

代码随想录训练营第41天 | 动态规划:01背包理论基础、动态规划:01背包理论基础(滚动数组)、LeetCode 416.分割等和子集

动态规划:01背包理论基础 文章讲解:代码随想录(programmercarl.com) 视频讲解:带你学透0-1背包问题!_哔哩哔哩_bilibili 动态规划:01背包理论基础(滚动数组) 文章讲解:代码随想录(…...

1908_Arm Cortex-M3的实现

1908_Arm Cortex-M3的实现 全部学习汇总: g_arm_cores: ARM内核的学习笔记 (gitee.com) 这是第一次看一份这样的手册,之前的MCU编程基本上就是专注于软件接口方面。而OS等方面的一些功能基本上都是用了现成的解决方案,因此也就没有过多的关注…...

编程笔记 html5cssjs 005 小学数学四则运算练习

编程笔记 html5&css&js 005 小学数学四则运算练习 一、代码二、解释 这段代码定义了一个页面&#xff0c;用于小学数学四则运算的练习。这可能有点难&#xff0c;实际如果需要可以通过更改代码来达到要求。 一、代码 <!DOCTYPE html> <html lang"zh&quo…...

【大厂AI课学习笔记NO.71】AI算力芯片GPU/TPU等

AI算力芯片的发展历程 人工智能&#xff08;AI&#xff09;算力芯片的发展历程紧密地跟随着AI技术的发展脚步。从早期的基于传统中央处理器&#xff08;CPU&#xff09;的计算&#xff0c;到图形处理器&#xff08;GPU&#xff09;的广泛应用&#xff0c;再到专门为AI设计的处…...

浅谈Redis和分布式系统

浅谈Redis Redis用于存储数据&#xff0c;且在内存当中进行存储。 但是在日常编写代码中&#xff0c;定义一个变量也就属于在内存当中存储一个数据。 Redis主要会在分布式系统当中发挥重要作用&#xff0c;如果只是单机程序&#xff0c;直接通过变量存储数据的方式会比使用Re…...

微信小程序onLoad加载定义好的函数

这里小程序开发中容易犯的错误-1 给客户做一个程序。需要在页面加载的时候在onLoad(options){}中加载定义好的函数&#xff0c;代码如下 onLoad(options) {get_week_()},运行时老报错 后来修改为正确的代码 onLoad(options) {this.get_week_()//必须加this},再尝试运行&#x…...

C++进阶:详细讲解继承

现在也是结束了初阶部分的内容&#xff0c;今天开始就进入进阶部分了。一刻也没有为初阶的结束而哀悼&#xff0c;立刻赶来“战场”的是进阶部分里的继承 文章目录 1.继承的概念和定义1.1继承的概念1.2继承的定义1.2.1继承的格式1.2.2再讲访问限定符(详讲protected)1.2.3**继承…...

第十一篇 - 应用于市场营销视频场景中的人工智能和机器学习技术 – Video --- 我为什么要翻译介绍美国人工智能科技巨头IAB公司(1)

IAB平台&#xff0c;使命和功能 IAB成立于1996年&#xff0c;总部位于纽约市。 作为美国的人工智能科技巨头社会媒体和营销专业平台公司&#xff0c;互动广告局&#xff08;IAB- the Interactive Advertising Bureau&#xff09;自1996年成立以来&#xff0c;先后为700多家媒体…...

基于决策树实现葡萄酒分类

基于决策树实现葡萄酒分类 将葡萄酒数据集拆分成训练集和测试集&#xff0c;搭建tree_1和tree_2两个决策树模型&#xff0c;tree_1使用信息增益作为特征选择指标&#xff0c;B树使用基尼指数作为特征选择指标&#xff0c;各自对训练集进行训练&#xff0c;然后分别对训练集和测…...

上位机图像处理和嵌入式模块部署(qmacvisual三个特色)

【 声明&#xff1a;版权所有&#xff0c;欢迎转载&#xff0c;请勿用于商业用途。 联系信箱&#xff1a;feixiaoxing 163.com】 了解了qmacvisual的配置之后&#xff0c;正常来说&#xff0c;我们需要了解下不同插件的功能是什么。不过我们不用着急&#xff0c;可以继续学习下…...

电脑解锁后黑屏有鼠标--亲测!!不需要重装系统!!

问题&#xff1a;上周电脑黑屏&#xff0c;只有鼠标&#xff0c;鼠标还不能右键&#xff01;&#xff01; 中招&#xff1a;win10系统最新版火绒安全 &#xff0c;那你有概率获得开机黑屏套餐一份。 原因是&#xff1a;火绒把我们的explorer删除了导致黑屏&#xff0c;这个文…...

Spring 事务的种类 ? 传播机制 ?

在Spring框架中&#xff0c;事务管理可以分为编程式事务和声明式事务两种主要形式。每种形式都有其特点和使用场景。以下是这两种形式的具体介绍&#xff1a; 编程式事务 编程式事务是通过编写代码来实现事务管理的。在Spring中&#xff0c;编程式事务管理通常通过Transactio…...

深入了解 Java 方法和参数的使用方法

Java 方法 简介 方法是一块仅在调用时运行的代码。您可以将数据&#xff08;称为参数&#xff09;传递到方法中。方法用于执行特定的操作&#xff0c;它们也被称为函数。 使用方法的原因 重用代码&#xff1a;定义一次代码&#xff0c;多次使用。提高代码的结构化和可读性。…...

自动驾驶技术解析与关键步骤

目录 前言1 自动驾驶主要技术流程1.1 车辆周围环境感知1.2 车辆和行人检测分析1.3 运动轨迹规划 2 关键技术概述2.1 车辆探测与图片输入2.2 行人检测2.3 运动规划2.4 电子地图2.5 轨迹预测2.6 交通灯分析2.7 故障检测 结语 前言 自动驾驶汽车作为未来交通领域的重要发展方向&a…...

[Electron]中IPC进程间通信

Electron中IPC 进程间通信 (IPC) 是在 Electron 中构建功能丰富的桌面应用程序的关键部分之一。在 Electron 中&#xff0c;进程使用 ipcMain 和 ipcRenderer 模块&#xff0c;通过开发人员定义的“通道”传递消息来进行通信。 本文介绍以下几个方面&#xff1a; 1-渲染进程到…...

UE5 学习系列(二)用户操作界面及介绍

这篇博客是 UE5 学习系列博客的第二篇&#xff0c;在第一篇的基础上展开这篇内容。博客参考的 B 站视频资料和第一篇的链接如下&#xff1a; 【Note】&#xff1a;如果你已经完成安装等操作&#xff0c;可以只执行第一篇博客中 2. 新建一个空白游戏项目 章节操作&#xff0c;重…...

【大模型RAG】拍照搜题技术架构速览:三层管道、两级检索、兜底大模型

摘要 拍照搜题系统采用“三层管道&#xff08;多模态 OCR → 语义检索 → 答案渲染&#xff09;、两级检索&#xff08;倒排 BM25 向量 HNSW&#xff09;并以大语言模型兜底”的整体框架&#xff1a; 多模态 OCR 层 将题目图片经过超分、去噪、倾斜校正后&#xff0c;分别用…...

使用VSCode开发Django指南

使用VSCode开发Django指南 一、概述 Django 是一个高级 Python 框架&#xff0c;专为快速、安全和可扩展的 Web 开发而设计。Django 包含对 URL 路由、页面模板和数据处理的丰富支持。 本文将创建一个简单的 Django 应用&#xff0c;其中包含三个使用通用基本模板的页面。在此…...

超短脉冲激光自聚焦效应

前言与目录 强激光引起自聚焦效应机理 超短脉冲激光在脆性材料内部加工时引起的自聚焦效应&#xff0c;这是一种非线性光学现象&#xff0c;主要涉及光学克尔效应和材料的非线性光学特性。 自聚焦效应可以产生局部的强光场&#xff0c;对材料产生非线性响应&#xff0c;可能…...

shell脚本--常见案例

1、自动备份文件或目录 2、批量重命名文件 3、查找并删除指定名称的文件&#xff1a; 4、批量删除文件 5、查找并替换文件内容 6、批量创建文件 7、创建文件夹并移动文件 8、在文件夹中查找文件...

【论文笔记】若干矿井粉尘检测算法概述

总的来说&#xff0c;传统机器学习、传统机器学习与深度学习的结合、LSTM等算法所需要的数据集来源于矿井传感器测量的粉尘浓度&#xff0c;通过建立回归模型来预测未来矿井的粉尘浓度。传统机器学习算法性能易受数据中极端值的影响。YOLO等计算机视觉算法所需要的数据集来源于…...

DIY|Mac 搭建 ESP-IDF 开发环境及编译小智 AI

前一阵子在百度 AI 开发者大会上&#xff0c;看到基于小智 AI DIY 玩具的演示&#xff0c;感觉有点意思&#xff0c;想着自己也来试试。 如果只是想烧录现成的固件&#xff0c;乐鑫官方除了提供了 Windows 版本的 Flash 下载工具 之外&#xff0c;还提供了基于网页版的 ESP LA…...

鸿蒙DevEco Studio HarmonyOS 5跑酷小游戏实现指南

1. 项目概述 本跑酷小游戏基于鸿蒙HarmonyOS 5开发&#xff0c;使用DevEco Studio作为开发工具&#xff0c;采用Java语言实现&#xff0c;包含角色控制、障碍物生成和分数计算系统。 2. 项目结构 /src/main/java/com/example/runner/├── MainAbilitySlice.java // 主界…...

安宝特案例丨Vuzix AR智能眼镜集成专业软件,助力卢森堡医院药房转型,赢得辉瑞创新奖

在Vuzix M400 AR智能眼镜的助力下&#xff0c;卢森堡罗伯特舒曼医院&#xff08;the Robert Schuman Hospitals, HRS&#xff09;凭借在无菌制剂生产流程中引入增强现实技术&#xff08;AR&#xff09;创新项目&#xff0c;荣获了2024年6月7日由卢森堡医院药剂师协会&#xff0…...

AI+无人机如何守护濒危物种?YOLOv8实现95%精准识别

【导读】 野生动物监测在理解和保护生态系统中发挥着至关重要的作用。然而&#xff0c;传统的野生动物观察方法往往耗时耗力、成本高昂且范围有限。无人机的出现为野生动物监测提供了有前景的替代方案&#xff0c;能够实现大范围覆盖并远程采集数据。尽管具备这些优势&#xf…...