技术标签: docker php开发环境 php docker php环境 docker-compose
比如当有新的扩展加入,或者其他工具加入时,只需要将新扩展变更到源文件,其他开发者拉取最新代码重新编译就可以保持环境一致。
Git代码库地址:https://github.com/nangge/phpDev
> docker-compose up --build
#docker-compose up -d //守护进程
#docker-compose up -d --build //重新编译启动
首次编译可能需要较长时间,编译启动后通过浏览器访问localhost 或者 宿主机ip就可以看到php环境信息。
php已安装扩展
zmq、swoole、redis、pdo_mysql、mysqli、gd、zip
│ .env //docker环境配置文件
│ docker-compose.yml //compose环境编排文件
├─app //项目目录
│ 50x.html
│ index.html
│ index.php //测试文件
├─data //数据文件 主要用来数据卷挂载
│ ├─log //nginx 日志文件;网站访问日志文件
│ │ nginx_error.log //nginx error日志文件
│ ├─mysql //mysql 数据文件
│ │ │ auto.cnf
│ │ │ ibdata1
│ │ │ ib_logfile0
│ │ │ ib_logfile1
│ │ ├─mysql //mysql 数据库
│ │ └─performance_schema
│ └─redis //redis数据
│ dump.rdb
├─mysql //mysql Dockerfile文件 包含基础镜像
│ Dockerfile
├─nginx //nginx Dockerfile文件
│ │ Dockerfile
│ │ enable-php.conf
│ │ nginx.conf //nginx配置文件
│ └─conf.d //虚拟主机配置目录,如果需要监听其他端口,
//则需要在docker-compose.yml 中的nginx下开放映射端口,比如 10000:10000
│ default.conf //默认配置文件
│ managez.com.conf //虚拟主机实例文件
├─phpfpm //nginx Dockerfile文件
│ │ Dockerfile //包含基础镜像 以及一些自定义指令 (php扩展)
│ └─conf
│ php.ini
└─redis //nginx Dockerfile文件
│ Dockerfile
└─conf
redis.conf
> docker image ls
> docker container ls
CONTAINER ID IMAGE COMMAND CREATED STATUS PORTS NAMES
2b8d75cfc874 nginx_server "nginx -g 'daemon of…" About a minute ago Up About a minute 0.0.0.0:80->80/tcp nginx_server
> docker exec -it < container id/names > bash
#docker exec -it 2b8d75cfc874 bash
#docker exec -it nginx_server bash
#退出 Ctrl+D 或 exit
> docker inspect < container id/names >
#docker inspect 2b8d75cfc874
#docker inspect nginx_server
> docker volume ls
DRIVER VOLUME NAME
local 340445d47584c0795bc2133ef879afb1d19efaf8f1da31231df69834b24b04a3
local 3591dfe064a5a813ce23007814fa8fbdb7af881f8fd10fa280f294380cb6beaf
local 9813907674b919eb51fc560ff5e605ca7f3dce4092d58abfda5efa7e664b1f55
> docker volume inspect [my-vol]
# docker volume inspect 340445d47584c0795bc2133ef879afb1d19efaf8f1da31231df69834b24b04a3
> docker volume rm [VOLUME NAME]
> docker run [OPTIONS] [image]
#docker run -p 8080:8080 -p 50000:50000 nginx_server
> docker container start/restart [container name\id]
> docker stop [container name\id]
> docker stop $(docker ps -a -q) // stop停止所有容器
> docker rm [container name\id]
> docker rm $(docker ps -a -q) // 删除停止所有容器
原因:绑定数据卷时,无法识别windows 路径
解决方法:
cat >.env
COMPOSE_CONVERT_WINDOWS_PATHS=1
原因:windows for docker 下没有向docker容器共享磁盘
解决方法:
windows for docker -> setting -> Shared Drives
选择盘符确定时会需要账户密码,如果登陆用户没有, 先设置密码
文章浏览阅读178次。报错2:error while loading shared libraries: libpython3.7m.so.1.0: cannot open shared object file: No such。报错1:OSError: Python library not found: libpython3.7mu.so.1.0, libpython3.7.so, l。添加库的配置信息,将python/lib的绝对路径(一般为:’/usr/python/lib’),添加至conf文件中。_centos pyinstall
文章浏览阅读674次。1、查看图中两个时间段内,且有“统计存储图片数据”的字段的日志 sed -n '/2021-06-03 11::25:34/,/2021-06-03 11:26:02/p' start.log |grep "统计存储图片数据" 注释: -n参数:只有经过sed特殊处理的那一行(或者动作)才会被显示 p参数:表示在终端打印出来 start.log:日志文件 grep: 对前面查询的结果进行过滤 "统计存储图片数据": 查询的关键字 时间段:格式和日志保持一致,且时间值是真实存在的2、将时._linux命令统计某个时间区间出现的关键字
文章浏览阅读2.6k次。手机现在已经是我们的随身物品了,在很多事情上手机都可以帮助到我们,比如翻译,现在不仅是出国会用到翻译,就想平时的自我学习和工作上,都会遇到翻译的情况,今天就教大家一招用手机直接翻译的方法!今天主要就是给大家揭秘不同品牌手机里的翻译功能,一起来看看吧!1.小米手机小米手机在国产手机里的是非常受欢迎的,小米手机里的【扫一扫】不知道大家用过没有,我们打开扫一扫点击【翻译】然后选择翻译前后的语言,最后点击..._html格式的网页进行翻译
文章浏览阅读3.3w次,点赞65次,收藏287次。背景(background)是css中一个重要的的部分,也是需要知道的css的基础知识之一。这篇文章将会涉及css背景(background)的基本用法,包括诸如 background-attachment 等的属性,也会介绍一些有关背景(background)的常用技巧,以及 css3 中的 背景(background)(包含4个新的背景(background)属性)。css2 中的背景(background)概述CSS2 中有5个主要的背景(background)属性,它们是:* ba_background-position
文章浏览阅读3.2k次。_idea配置java环境
文章浏览阅读5.6w次,点赞8次,收藏5次。今天在react中子父传参里, 点击按钮向父组件传递信息时出现了这个错误如图:↓这个问题很明显, 从字面意思看就是props前面的这个值没有找到, 然后看源码里面, 前面是个this, 如下图:也就是在点击下面的button按钮时, 本来应该执行上面的sendMessage, 将父组件内容改掉, 可是却没有找到props前面的this, 然后测试在sendMessage方法中直接打印this , 发现是 undefined, 也就是说根本就没有this, 当然无法调用this里面的props_cannot read properties of undefined (reading 'props')
文章浏览阅读894次,点赞8次,收藏6次。无论您使用的是Windows、Mac还是Linux系统,主流播放器如VLC、Windows Media Player、QuickTime等都能轻松打开MP4文件,确保用户能够在各种平台上畅快观影。如果需要将M4S转换成MP4,野葱视频转换器为我们提供了便捷的解决方案,不仅具有稳定性,极少发生文件损坏,而且转换速度快,大大节约了时间。随着网络视频的普及,M4S通过分片存储音频和视频数据,提高了网络传输的效率,使得用户在观看视频时能够更加流畅地体验。处理完成后,你将在指定的输出路径中找到生成的MP4文件。_m4s格式转换mp4
文章浏览阅读596次。网络管理报文(CAN 4开头,CAN FD 5开头),应用报文,诊断报文(7开头,物理寻址:一对一 比如对单体安全访问,在线编程,功能寻址:服务需要一对多,保证ECU的状态相同,比如多个 ECU需要知道车速的信息,温度的信息)CAN_H的电平为3.5V,CAN_L线的电平为1.5V,CAN_H和CAN_L的电压差为2V左右,CAN_H和CAN_L线上的电压均为2.5v, CAN_H和CAN_L之间的电压差为0V。1、位错误:当总线赢得发送权后,会对总线电平进行侦听,当发送的电平和侦听的电平不一致;_为什么can诊断都是7开头
文章浏览阅读2.7k次,点赞2次,收藏9次。在本人之前的一篇博文中描写了如何使用OPC自定义接口开发OPCClient,并使用SignalR实现数据的远程实时传输。融合SignalR的OPCClient实现环境参数实时监测但是在使用过程中发现仍有不足之处,本文就是对之前OPCClient的功能改进进行说明。1.问题描述原有的OPCClient在测试环境下可以正常运行,但是在实际生产环境下长时间运行后问题就逐渐暴露出来。主要的问..._titaniumas.opc.client
文章浏览阅读75次。宏工科技十五周年,“归零心态”竞逐全球
文章浏览阅读1.6k次。c++中的extern "C"_c++ extern c
文章浏览阅读7.3k次。教学一体机没有声音怎么办?教学一体机是结合多种传统终端设备为一体的智能设备,可以触摸,可以书写,可以传屏等等功能,主要是于Windows系统和Android系统为载体进行研发的。很多时候,教学一体会出现各种原因导致没有声音,具体原因可以分为软件问题和硬件问题,软件问题包括静音病毒、声卡驱动等,硬件问题包括接口、音响等问题。教学一体机没有声音怎么办?相信我们去查找过很多相关的问题,都没有得到一个准确..._一体机没有声音了怎么恢复