在win10下的docker 安装 easyswoole
# 在win10下的docker 安装 easyswoole #
1. 利用官网教程pull easyswoole 镜像
1.1 [https://www.easyswoole.com/Introduction/docker.html](https://www.easyswoole.com/Introduction/docker.html "easyswoole官网")
2. 镜像拉取 docker pull easyswoole/easyswoole3
3. docker run -itd -p 9504:9501 --name myeasy1 -v I:\docker\easyswoole:/easyswoole easyswoole/easyswoole3:latest
3.1 解析 这段命令的意思 --name myeasy1 代表把自己定义 容器的名字
3.2 解析 这段命令的意思 I:\docker\easyswoole
3.2.1 (I:\docker\easyswoole ) 代表宿主本机要共享的目录
3.2.2 (I:/easyswoole )代表容器的项目 目录的绝对地址,等于 本地 的 I盘的docker目录下面的 easyswoole 目录和容器内的easyswoole 是共享的.
3.3 (easyswoole/easyswoole3:latest ) 代表镜像的镜像REPOSITORY和 TAG,也可以写id
![](http://qiniu.gzwmdy.cn/20191206104022.png)
3.4 9504:9501 代表 9504是宿主的端口,容器9501映射出去.就 是在宿主本地打127.0.0.1:9501就可以访问到
4. 没有报错的话就,就 docker ps -a 看一下是否多了一个 名字为 myeasy1的容器
5. 有这个容器就 打开容器 docker start 容器id
- 停止、启动、杀死、重启一个容器
- docker stop Name或者ID
- docker start Name或者ID
- docker kill Name或者ID
- docker restart name或者ID
6. 进入容器内部 docker exec -it 容器id bash
7. 进入后你会发现这个其实是一个 centos的linux 系统且安装了 composer和php环境和swoole 扩展而已,在根部有一个 easyswoole的空文件夹,这个就是和我们上门设置的共享在 win下的目录,现在你可以在 win 的 I盘的项目目录下新建一个文件,容器内部就能看到了.
8. 因为easyswoole 并没有项目,所以需要自己在 容器内composer 拉取代码,详细去easyswoole官网看.
9. 拉取完代码,同时win共享的目录下也看到文件了,现在就可以愉快的撸代码的,
10. php easyswoole start 运行了, 发现有3个报错,因为 win10共享目录的路径问题,去项目根目录下的 dev.php 修改'TEMP_DIR' => '/Tmp',就可以了
11. 写完代码 就可以退出容器 先停止容器 docker star Name或者ID ,然后 再exit;下一次就先打开容器,再进入容器.
欢迎使用为API而生的 easySwoole 框架 当前版本: 3.x
使用:
easyswoole [操作] [选项]
操作:
install 安装easySwoole
start 启动easySwoole
stop 停止easySwoole(守护模式下使用)
reload 重启easySwoole(守护模式下使用)
help 查看命令的帮助信息
有关某个操作的详细信息 请使用 help 命令查看
如查看 start 操作的详细信息 请输入 easyswoole help -start
开发模式:
php easyswoole start
守护模式启动
php easyswoole start d
生产环境(默认配置加载dev.php,使用该命令加载produce.php 3.1.2之前是dev.env,produce.env)
php easyswoole start produce
服务停止
php easyswoole stop
注意,守护模式下才需要stop,不然control+c或者是终端断开就退出进程了
重启服务
php easyswoole reload 只重启task进程
php easyswoole reload all 重启task + worker进程
注意,守护模式下才需要reload,不然control+c或者是终端断开就退出进程了,此处为热重启,可以用于更新worker start后才加载的文件(业务逻辑),主进程(如配置文件)不会被重启。http 自定义路由配置不会被更新,需要stop+start;