- 前言:为了与容器中的mysql通信,先运行mysql,再使用 --link关联
一、 拉取 php版本为8.2的版本
8.3的版本,启动框架时,报错。
docker pull hyperf/hyperf:8.2-alpine-vedge-swoole-slim
二、 运行hyperf环境容器
--link
容器互联(这是关联两个mysql,是因为在测试主从)--privileged -u root
:授权容器root用户拥有宿主机的root权限--entrypoint /bin/sh
:指定容器启动时运行的命令 /bin/sh
docker run --name my_hyperf \
-v /docker/hyperf/skeleton:/data/project \
-w /data/project \
-p 9501:9501 -itd \
--privileged -u root \
--entrypoint /bin/sh \
--link my_mysql:db \
--link my_mysql2:db2 \
--restart=always \
hyperf/hyperf:8.2-alpine-vedge-swoole-slim
三、 进入容器
docker exec -it 4796b0751c03 /bin/bash
四、 切换到 /data/project/ 目录
cd /data/project
五、 更新composer镜像源(阿里)
composer config -g repo.packagist composer https://mirrors.aliyun.com/composer
六、 compser 安装 hyperf
composer create-project hyperf/hyperf-skeleton
七 启动hyperf
cd hyperf-skeleton
php bin/hyperf.php start
# 杀死hyperf进程
cat runtime/hyperf.pid | xargs kill -9
补充:
- 设置守护进程化
- 在
config/autoload/server.php
配置文件中, settings 中增加'daemonize' => true
,执行 php bin/hyperf.php start后,程序将转入后台作为守护进程运行
- 在