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

【Docker实操】部署php项目

概述

最终达成的容器部署结构和原理如下图:
在这里插入图片描述

一、获取nginx、php官方镜像

docker pull nginx	//拉取nginx官方镜像
docker pull php:7.4-fpm	//拉取php官方镜像

需要获取其他可用的php版本,可以上【docker hub】搜索【php】,所有的【xxx-fpm】版本都可以使用。.
在这里插入图片描述

二、创建项目目录

项目目录:/root/www/project

//-p:循环创建,如何不存在目录,则会自动创建
mkdir -p /root/www/project

三、创建php容器

创建php容器

docker run --name myphp -v $PWD/www:/www -d [php镜像id]

四、创建nginx容器

# conf/conf.d/docker_zhihao1_cn.conf
server {listen       80;server_name  your domain; #这里修改成自己的域名location / {root   /usr/share/nginx/html;index  index.html index.htm index.php;}error_page   500 502 503 504  /50x.html;location = /50x.html {root   /usr/share/nginx/html;}#当请求网站下php文件的时候,反向代理到php-fpmlocation ~ \.php$ {fastcgi_pass   php:9000;fastcgi_index  index.php;fastcgi_param  SCRIPT_FILENAME  /www/$fastcgi_script_name;include        fastcgi_params;}
}
docker run --name nginx_php -p 9001:80 -d \
-v $PWD/www:/usr/share/nginx/html \
-v $PWD/conf/conf.d:/etc/nginx/conf.d \
--link myphp:php nginx

myphp:php中的 php 是别名

//查看容器日志
docker logs -f -t --tail 10 容器id
//进入容器
docker exec -it myphp /bin/bash

然后就可以访问域名了。

参考阅读:
https://www.zhihao1.cn/91.html
https://juejin.cn/post/7029730919510442020

相关文章:

【Docker实操】部署php项目

概述 最终达成的容器部署结构和原理如下图: 一、获取nginx、php官方镜像 docker pull nginx //拉取nginx官方镜像 docker pull php:7.4-fpm //拉取php官方镜像需要获取其他可用的php版本,可以上【docker hub】搜索【php】,所有的【xxx-fp…...

多线程-初阶

1. 认识线程( Thread ) 1.1 概念 1) 线程是什么 一个线程就是一个 " 执行流 ". 每个线程之间都可以按照顺讯执行自己的代码 . 多个线程之间 " 同时 " 执行 着多份代码 . 还是回到我们之前的银行的例子中。之前我们主要描…...

Object和Function是函数,函数都有一个prototype属性

Object 和 Function 都是 JavaScript 自带的函数对象 在 JavaScript 中,万物皆对象,你要一个吗?new Object() 啊! 当然,就好比同样为人,也区分普通人和天才。 对象也是有分类的,分为 普通对象…...

stm32利用CubeMX按键控制数码管加减数

首先画电路图: 接下来配置CubeMX: 设置好后生成MDK工程文件: 用keil打开工程: 添加部分代码: /* USER CODE BEGIN Includes */ uint16_t duan[]{0xC0, 0xf9, 0xa4, 0xb0, 0x99, 0x92, 0x82, 0xf8, 0x80, 0x90}; uint1…...

前端页面生成条形码,借助layui打印标签

借助JsBarcode生成条形码 官网&#xff1a;https://lindell.me/JsBarcode/ github: https://github.com/lindell/JsBarcode <div class"table-div" style"display: block;width: 300px; height: 241px; margin: auto;"><table border"1&quo…...

第1~8章 综合复习

1. 重置root密码 1. 重启服务器&#xff08;虚拟机&#xff09;2. 快速选择第二项&#xff0c;然后按 e 键3. 在linux这一行的最后加上一个空格&#xff0c;然后输入 rd.break&#xff0c;然后按 ctrl x 来重启服务4. 在提示符所在位置输入 mount -o remount,rw /sysroot5. 在…...

转运机器人,AGV底盘小车:打造高效、精准的汽车电子生产线

为了满足日益增长的市场需求&#xff0c;保持行业领先地位&#xff0c;某汽车行业电子产品企业引入富唯智能AMR智能搬运机器人及其智能物流解决方案&#xff0c;采用自动化运输措施优化生产节拍和搬运效率&#xff0c;企业生产效率得到显著提升。 项目背景&#xff1a; 1、工厂…...

Spring Boot 的参数校验方案

1、前言 在平时的开发工作中,我们通常需要对接口进行参数格式验证。当参数个数较少(个数小于3)时,可以使用if ... else ...手动进行参数验证。当参数个数大于3个时,使用if ... else ...进行参数验证就会让代码显得臃肿,这个时候推荐使用注解来进行参数验证。 2、常用注…...

第N3周:Pytorch文本分类入门

>- **&#x1f368; 本文为[&#x1f517;365天深度学习训练营](https://mp.weixin.qq.com/s/rbOOmire8OocQ90QM78DRA) 中的学习记录博客** >- **&#x1f356; 原作者&#xff1a;[K同学啊 | 接辅导、项目定制](https://mtyjkh.blog.csdn.net/)** import torch import…...

宝塔面板安装了mysql5.7和phpMyadmin,但是访问phpMyadmin时提示502 Bad Gateway

操作流程截图如下&#xff1a; 原因是没有选择php版本 选择php版本 下一页找到phpMyAdmin&#xff0c;选择设置 目前只有纯净态&#xff0c;说明没有php环境&#xff0c;前去安装php环境 点击安装&#xff0c;选择版本&#xff0c;这里选择的是7.4版本&#xff0c;编译安…...

K8S—Pod详解

目录 一 Pod基础概念 1.1 Pod是什么 1.2 为什么要使用Pod&#xff1f;Pod在K8S集群中的使用方式&#xff1f; 1.3 基础容器pause 二 Pod的分类 2.1 自主式Pod和控制器管理的Pod 2.2 容器的分类 2.2.1 基础容器&#xff08;infrastructure container&#xff09; 2.2.2…...

深度学习中数据的转换

原始&#xff08;文本、音频、图像、视频、传感器等&#xff09;数据被转化成结构化且适合机器学习算法或深度学习模型使用的格式。 原始数据转化为结构化且适合机器学习和深度学习模型使用的格式&#xff0c;通常需要经历以下类型的预处理和转换&#xff1a; 文本数据&#xf…...

如何系统地自学 Python?

目录 Python 数据类型 控制结构 函数和模块 文件操作 异常处理 类和对象 列表推导式和生成器 匿名函数和高阶函数 面向对象编程 总结 Python Python是一种面向对象、解释型计算机程序设计语言&#xff0c;由Guido van Rossum于1989年发明&#xff0c;第一个公开发行…...

【软考】传输层协议之UDP

目录 一、说明二、特点 一、说明 1.用户数据报协议&#xff08;User Datagram Protocol&#xff09;是一种不可靠的、无连接的协议&#xff0c;可以保证应用程序进程间的通信 2.与TCP相比&#xff0c;UDP是一种无连接的协议&#xff0c;它的错误检测功能要弱很多 3.TCP有助于提…...

微服务-微服务链路追踪组件Skywalking实战

自动化监控系统Prometheus&Grafana实战&#xff1a; https://vip.tulingxueyuan.cn/detail/v_60f96e69e4b0e6c3a312c726/3?fromp_6006cac4e4b00ff4ed156218&type8&parent_pro_idp_6006d8c8e4b00ff4ed1569b2 APM-性能监控项目班&#xff1a; https://vip.tuling…...

Stream、Collections、Collectors用法

当涉及Java编程中的集合处理时&#xff0c;Stream、Collections和Collectors是三个常用的工具。以下是它们各自的主要功能和使用的一些方法的概要&#xff1a; Stream&#xff1a; 概要&#xff1a;Stream 是 Java 8 引入的一个强大工具&#xff0c;用于处理集合数据的流式操作…...

Jetson Xavier NX 与笔记本网线连接 ,网络共享,ssh连接到vscode

Jetson Xavier NX 与笔记本网线连接 &#xff0c;网络共享&#xff0c;ssh连接到vscode Jetson Xavier NX桌面版需要连接显示屏、鼠标和键盘&#xff0c;操作起来并不方便&#xff0c;因此常常需要ssh远程连接到本地笔记本电脑&#xff0c;这里介绍一种连接方式&#xff0c;通过…...

利用netty手写rpc框架

前言&#xff1a;利用netty异步事件驱动的网络通信模型&#xff0c;来实现rpc通信 一、大致目录结构&#xff1a; 二、两个端&#xff1a;服务端&#xff08;发布&#xff09;&#xff0c;客户端&#xff08;订阅消费&#xff09;&#xff0c;上代码&#xff1a; 1.服务端&am…...

js+views 压缩上传的图片

安装image-conversion插件&#xff0c;在before-upload方法中对上传的图片文件进行处理 遇到的问题&#xff1a; 1、因为在上传文件之前的钩子中对图片进行了压缩处理&#xff0c;所以组件中上传的data会丢失&#xff0c;需要重新赋值 2、imageConversion 的引入需要使用impor…...

【安卓基础5】中级控件

&#x1f3c6;作者简介&#xff1a;|康有为| &#xff0c;大四在读&#xff0c;目前在小米安卓实习&#xff0c;毕业入职 &#x1f3c6;本文收录于 安卓学习大全持续更新中&#xff0c;欢迎关注 &#x1f3c6;安卓学习资料推荐&#xff1a; 视频&#xff1a;b站搜动脑学院 视频…...

stable-diffusion-webui怎么生成视频

我们知道stable-diffusion-webui是用来生成图片的&#xff0c;视频本质上就是图片的连续播放&#xff0c;那么stable-diffusion-webui是否就可以生成视频呢&#xff1f;答案是肯定的。本文介绍一种方法&#xff0c;使用stable-diffusion-webui来生成视频。 具体的方法是&#…...

3步完成Arch Linux现代化桌面环境:Hyprland自动化安装终极指南

3步完成Arch Linux现代化桌面环境&#xff1a;Hyprland自动化安装终极指南 【免费下载链接】Arch-Hyprland For automated installation of Hyprland on Arch Linux or any Arch Linux-based distros 项目地址: https://gitcode.com/gh_mirrors/ar/Arch-Hyprland 想要在…...

零基础实战:在AutoDL云端一键部署GPT-SoVITS并实现音色克隆API调用

1. 为什么选择AutoDL部署GPT-SoVITS 第一次接触音色克隆技术时&#xff0c;我和很多人一样被两个问题困扰&#xff1a;本地电脑配置不够怎么办&#xff1f;复杂的Linux环境怎么配置&#xff1f;直到发现AutoDL这个云端算力平台&#xff0c;所有问题迎刃而解。这里实测用RTX3090…...

Postman导入导出避坑指南:为什么你的环境变量导入后不生效?

Postman环境变量导入失效深度解析与解决方案 当你在团队协作或项目迁移时&#xff0c;精心配置的Postman环境变量导入后却神秘消失——这种挫败感每个开发者都经历过。本文将揭示Postman变量系统的底层机制&#xff0c;通过三个典型故障场景还原真实问题根源&#xff0c;并提供…...

高效跨平台网盘直链解析工具:5步配置实战指南

高效跨平台网盘直链解析工具&#xff1a;5步配置实战指南 【免费下载链接】Online-disk-direct-link-download-assistant 一个基于 JavaScript 的网盘文件下载地址获取工具。基于【网盘直链下载助手】修改 &#xff0c;支持 百度网盘 / 阿里云盘 / 中国移动云盘 / 天翼云盘 / 迅…...

Java String.split() 方法陷阱:为什么你应该始终使用 split(regex, -1)

核心问题 Java 的 String.split(regex) 默认等价于 split(regex, 0)&#xff0c;会静默丢弃尾部的所有空字符串。这个设计在结构化数据处理中是灾难性的。 "A,B,C,".split(","); // ["A", "B", "C"] 长度 3 ❌ 尾部…...

Gemini3.1Pro数据分析报告自动化实战

用 Gemini 3.1 Pro 快速生成数据分析报告并自动可视化&#xff1a;端到端闭环&#xff08;生成—验证—反思—修正—回归&#xff09; 门控降级 4周MVP路线图要“快速生成数据分析报告并可视化”&#xff0c;真正难点不是生成文字&#xff0c;而是把报告做成可核验、可复用、可…...

别再死记硬背真值表了!用Verilog手搓半减器/全减器,从波形图反推逻辑门设计

从波形图反推逻辑门&#xff1a;Verilog减法器的逆向工程实践 数字电路初学者常陷入"真值表→逻辑表达式→电路实现"的传统学习路径&#xff0c;却难以理解信号流动的本质。本文将以波形图逆向分析为核心&#xff0c;带您用Verilog实现半减器与全减器&#xff0c;掌握…...

云原生技能图谱:构建开发者能力模型与学习路径

1. 项目概述&#xff1a;一个面向云原生时代的技能图谱仓库最近在整理团队内部的技术分享材料时&#xff0c;我偶然发现了一个在开发者社区里讨论度颇高的开源项目&#xff1a;prevu-cloud/skills。乍一看这个名字&#xff0c;你可能会觉得它只是一个普通的“技能列表”或者“学…...

别再为无人机航拍小目标漏检发愁了!用SAHI+YOLOv5n搞定高清图像识别(附完整代码)

无人机航拍小目标检测实战&#xff1a;SAHIYOLOv5n的高效解决方案 在广袤的农田上空&#xff0c;一架无人机正在执行例行巡检任务。高清摄像头捕捉到的画面中&#xff0c;几个微小的黑点引起了操作员的注意——那是几株感染病虫害的作物&#xff0c;它们在整幅图像中只占据不到…...