基于docker的php运行环境

写这篇文章的原因

看了挺多关于swoole的文章和例子,包括看了官方文档n次,却还是有些搞不懂;在网上找到了swoolefy(https://github.com/bingcool/swoolefy),毕竟这是博主实战后的总结,所以觉得用它来结合官方文档学习swoole应该会是比较不错的选择吧,反正实践运用也还是有点迷茫;
由于我用的mac笔记本,所以在按照swoolefy文档安装它的轻量级框架时遇到了一些mac相关的一些问题,所以写下了这篇文章,这也是我在这个平台的第一篇文章,所以写的简单点吧。

mac安装swoolefy学习swoole遇到的问题

mac中不能重命名进程名字,所以关于进程命名的函数在安装过程中会报错,mac的/dev/目录不能创建文件夹,sudo mkdir dir这样也不能创建,因此在执行:
php swoolefy start App -dev
时,也是会报错的;

我的解决方式

因为这是原作者的实战框架,所以改源码的方式是下下策,而且花时不讨好,改了这里说不定哪里就又出问题了,所以不考虑这种;

因为只是用它来学习swoole,所以也就没啥要求,刚好我对docker又懂了点皮毛,于是就根据它(swoolefy)里面环境要求,写了个基于php7.2的镜像(image)-------- mecyu/swoolefy
基于它就可以简单的创建容器来实现一个简单环境了:

docker run --name docker-swoolefy -p 9000:9000 -p 9502:9502 -v /private/var/www/docker/dockerfiles/app:/app:rw -d mecyu/swoolefy:latest php /app/swoolefy/swoolefy start App -dev

执行以上命令需要安装docker客户端:
brew install docker

以上命令创建一个名为docker-swoolefy的容器;
监听php的9000端口和swoole服务的9502端口;
将swoolefy的项目目录/private/var/www/docker/dockerfiles/app挂载到容器的/app目录
-d,后台执行
mecyu/swoolefy:latest 是我写好上传的简单镜像,在以上命令中也可以直接写成mecyu/swoolefy
最后面部分php /app/swoolefy/swoolefy start App -dev即为swoolefy的启动命令

后面可通过docker命令关闭、重启、启动容器的方式来启动swoolefy:
docker start docker-swoolefy
docker stop docker-swoolefy
docker restart docker-swoolefy

这样我在Mac安装swoolefy用来学习swoole的出现的环境问题就已经解决了,后续,假如开发项目,就可以通过管理这个镜像来统一环境,代码还是使用原来的管理,只是在本地使用环境的时候需要将项目目录挂载到容器中就可以了

总结

就是觉得吧,很多时候,还是要善于使用辅助工具的;自从学习了docker之后,关于环境的问题就再也不是问题了;大到高可用分布式部署,小到搭建统一开发环境,docker都可以完成;个人觉得,它也算是是一个类似git的版本管理工具,只是它管理的是镜像(image)

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值