Docker搭建Easyswoole本地开发环境

  • easyswoole简介
  • Docker简介
  • 环境搭建
  • 仓库拉取Easyswoole镜像
  • 启动docker容器
  • 拷贝文件目录到宿主机中
  • 关闭并删除容器
  • 启动容器 映射宿主机目录
  • 进入容器,启动Easyswoole服务
  • 访问Easyswoole


easyswoole简介

EasySwoole 是一款基于Swoole Server 开发的常驻内存型的分布式PHP框架,专为API而生,摆脱传统PHP运行模式在进程唤起和文件加载上带来的性能损失。 EasySwoole 高度封装了 Swoole Server 而依旧维持 Swoole Server 原有特性,支持同时混合监听HTTP、自定义TCP、UDP协议,让开发者以最低的学习成本和精力编写出多进程,可异步,高可用的应用服务。

Docker简介

Docker 是一个用于开发,交付和运行应用程序的开放平台。Docker 使您能够将应用程序与基础架构分开,从而可以快速交付软件。借助 Docker,您可以与管理应用程序相同的方式来管理基础架构。通过利用 Docker 的方法来快速交付,测试和部署代码,您可以大大减少编写代码和在生产环境中运行代码之间的延迟。

环境搭建

仓库拉取Easyswoole镜像

docker pull easyswoole/easyswoole3

docker compose 安装 svn docker安装swoole_docker

下载比较慢的话,可以设置一下docker的镜像加速,具体可以使用阿里云的镜像加速服务

启动docker容器

docker run -ti -p 9501:9501 easyswoole/easyswoole3

docker compose 安装 svn docker安装swoole_php_02

容器根目录中存在easyswoole项目目录
默认情况下,容器内部新创建文件或者修改文件,结果会保存在container的可读写层中,这意味着当容器消失时,与容器一体的可读写层也一并消失,数据并没有持久化。
另外为了开发方便,我们需要做目录映射,由于直接映射会覆盖掉容器中对应目录的内容,需要在宿主机安装easyswoole再进行映射,因此这里先将容器中项目目录拷贝出来,再重新创建容器并映射目录。

拷贝文件目录到宿主机中

docker cp {dockerId}:/easyswoole /Users/tauy/

dockerId 就是容器的ID,可以通过docker ps 命令查看

关闭并删除容器

docker stop {dockerId}
docker rm {dockerId}

启动容器 映射宿主机目录

docker run -ti -p 9501:9501 -v /Users/tauy/easyswoole:/easyswoole easyswoole/easyswoole3

注意:/Users/tauy/easyswoole就是你想要放在的宿主机的目录
如果你使用的是windows系统,比如想要放到D盘的easyswoole目录,那么可以写成 /d/easyswoole

进入容器,启动Easyswoole服务

php easyswoole start

docker compose 安装 svn docker安装swoole_服务器_03

访问Easyswoole

使用浏览器访问宿主机ip:9501,即可看到Easyswoole欢迎页面
修改宿主机的代码,将会同步更新页面

docker compose 安装 svn docker安装swoole_Docker_04