直接用官方预装swoole镜像(如8.2-alpine-v3.18-swoole)启动容器,挂载目录、安装composer、创建骨架、启动服务,5分钟内即可运行可开发的hyperf环境。

直接用官方镜像启动容器,挂载目录、装好 Composer、创建骨架、启动服务——整个过程不用装 PHP、Swoole 或扩展,5 分钟内就能跑起一个可开发的 Hyperf 环境。
拉取并运行基础镜像
Hyperf 官方提供了预装 Swoole 的 Alpine 镜像,推荐使用带版本号的标签,避免 latest 不稳定:
-
拉取镜像:比如 PHP 8.2 + Alpine 3.18 + Swoole:
docker pull hyperf/hyperf:8.2-alpine-v3.18-swoole -
运行容器并挂载当前目录(关键!让代码在宿主机编辑、容器内运行):
docker run -v $PWD:/hyperf-skeleton -p 9501:9501 -it --entrypoint /bin/sh hyperf/hyperf:8.2-alpine-v3.18-swoole - 进入容器后立即切换到挂载目录:
cd /hyperf-skeleton
配置 Composer 并生成项目骨架
Alpine 镜像默认不含 Composer,需手动安装并设国内源加速:
- 下载并安装 Composer:
wget https://mirrors.aliyun.com/composer/composer.phar -O /usr/local/bin/composer && chmod +x /usr/local/bin/composer - 切阿里云镜像(可选华为源备用):
composer config -g repo.packagist composer https://mirrors.aliyun.com/composer - 一键创建 Hyperf 骨架(自动初始化 .env、vendor 等):
composer create-project hyperf/hyperf-skeleton . --no-interaction --prefer-dist
启动服务并验证访问
项目生成后,直接启动即可,无需额外配置:
- 执行启动命令:
php bin/hyperf.php start - 保持容器前台运行(别用
-d),方便看日志;若要后台运行,确保 CMD 已写入 Dockerfile 或用 docker-compose - 在宿主机浏览器访问
http://localhost:9501(或服务器 IP:9501),看到 Hyperf 默认欢迎页即成功
进阶:让容器启动即运行项目
不想每次都要进容器敲命令?把启动逻辑固化进镜像:
- 新建
start.sh,内容为:#!/bin/sh<br>cd /hyperf-skeleton && php bin/hyperf.php start
- Dockerfile 中 COPY 脚本 + 设置 ENTRYPOINT:
COPY start.sh /start.sh<br>RUN chmod +x /start.sh<br>ENTRYPOINT ["/start.sh"]
- 构建并运行:
docker build -t my-hyperf . && docker run -p 9501:9501 -v $PWD:/hyperf-skeleton -it my-hyperf











