使用 docker-compose 快速搭建 Hyperf + Redis 开发环境
0x00: 为什么要使用docker-compose搭建开发环境
使用线上环境镜像, 开发环境与线上环境保持一致, 包括PHP版本, Swoole版本以及各种扩展版本
无需手动安装PHP和Swoole等运行环境
跨Windows / Linux / macOS部署
无需手动安装Redis
0x01: 准备工作
安装Docker
确认本机
9501
端口没有占用(lsof -i :9501
)确认本机
6379
端口没有占用(lsof -i :6379
)
0x02: docker-compose.yaml
0x03: 使用步骤
将上面的docker-compose.yaml内容保存到本地的docker-compose.yaml中, 下例保存到
/root/docker-compose.yaml
将docker-compose.yaml:18行的
$APP_ROOT
替换为Hyperf项目的绝对路径运行
docker-compose -f /root/docker-compose.yaml up -d
, 注意将/root/docker-compose.yaml
替换为实际的docker-compose.yaml路径运行
docker ps
查看正在运行的容器, 正常情况下应该看到此时redis和hyperf容器都已经运行并且监听了
6379
和9501
端口, 但hyperf应用并没有启动, 需要进入容器启动hyperf运行
docker exec -it hyperf bash
打开hyperf容器的终端, 此时可以使用php bin/hyperf.php start
运行hyperf应用或者运行其它的命令
0x04: 连接Redis
由于docker-compose.yaml中声明了links, 所以hyperf容器可以直接使用redis
作为host连接redis, environment
字段已经自动设置了REDIS_HOST
环境变量, 如果.env
中有REDIS_HOST
需要注释掉
0x05: 宿主机访问
Redis和Hyperf容器均可以通过宿主机回环地址直接访问
0x06: 停止
docker-compose -f /root/docker-compose.yaml down -d
最后更新于