docker for hyperf
在docker下开发
docker run --name hyperf \
-v /Users/tangxiaofeng/wwwroot/docker/hyperf-image:/data/wwwroot \
-p 9502:9501 -it \
--privileged -u root \
--entrypoint /bin/sh \
hyperf/hyperf:7.4-alpine-v3.11-swoole
上面的命令是基于 hyperf/hyperf:7.4-alpine-v3.11-swoole
的image文件新建一个容器,并且运行该容器
--name hyperf
- 容器的名字叫做hyperf-v /Users/tangxiaofeng/wwwroot/docker/hyperf-image:/data/wwwroot
- 将本地目录映射到容器的/data/wwwroot
目录-p 9502:9501
- 将本地9502端口映射到容器9501端口,也可以加上具体IP127.0.0.1:9502:9501
-it
- 容器运行后打开终端交互模式--privileged -u root
- 如果docker启动时开启了selinux-enabled选项,容器内访问宿主机资源就会受限,所以启动容器时增加该选项--entrypoint
- 设置Shell为/bin/sh
其他常用配置参数
--rm
- 停止运行后,自动删除容器文件-d
- 容器启动后,在后台运行--env APP_ENV=local
- 向容器进程传入一个环境变量并设置为local--link mydbmysql:mysql
- 把当前容器连接到mydbmysql,冒号表示该容器的别名是mysql
接下来你就可以在本机开发,并在容器中运行hyperf了