详解Docker 下开发 hyperf 完整使用示例

 更新时间:2020年3月31日 14:50  点击:1984

Hyperf官方网站
Hyperf 官方文档安装篇

1. docker 使用

  • docker search 列出 hyperf 镜像

  • docker pull 下载镜像到本地

  • 运行 镜像并且将目录挂载到当前目录下文件夹 内,同时依照 /bin/sh 的方式运行

  • 进入到 hyperf-skeleton 目录,此目录是和本地挂靠的


$ docker search hyperf 
$ docker pull hyperf/hyperf 
$ docker run -v $PWD/:/hyperf-skeleton -p 9501:9501 -it --entrypoint /bin/sh hyperf/hyperf
$ cd hyperf-skeleton


2. 镜像容器运行后,并在容器内安装 Composer

先下载 Composer 进 docker 容器内


$ wget https://mirrors.aliyun.com/composer/composer.phar


3. 修改执行权限

此操作是为了解决 Composer 不允许 root 权限执行的限制

同时为切换用户时,可以直接操作

生产环境下不推荐 777 授权方式


$ chmod -R 777 ./composer.phar


4. 移动 composer 至 bin 目录下面,并且改名为 composer

生产环境下不推荐 777 授权方式


$ mv composer.phar /usr/local/bin/composer


5. 修改 root 密码

同时因为不清楚 root 密码,我们直接先做好修改
密码需要重复输入两次,并且不会显示,请注意


$ passwd root


6. 可以查看一下是 linux 发行版版本(命令会有所区别)

官方的镜像为 Linux 的 alpine


$ cat /etc/os-release


7. 建立一个指定 GID 的组

官方的镜像为 Linux 的 alpine 和很多小伙伴用的 Centos 命令会有所区别
如果是自己的建立的镜像,按照发行版本命令走就好了


$ addgroup -g 10001 -S www


8. 建立一个指定 UID 的用户

指定 shell, 让它属于指定的用户组。


$ adduser www -u 20001 -D -S -s /bin/bash -G www


9. 让新建的用户可以使用 su - 到 root 用户下,


$ chmod 4755 /bin/busybox


10. 切换至 www 用户执行 composer

su www 切换用户
whoami 查看当前用户


$ su www
$ whoami


11. 将 Composer 镜像设置为阿里云镜像,用于加速国内下载速度

当然是否使用阿里云镜像看个人需求(无广告嫌疑)


$ composer config -g repo.packagist composer https://mirrors.aliyun.com/composer


12. 通过 Composer 安装 hyperf 骨架

安装时选择看个人需求哈!


$ composer create-project hyperf/hyperf-skeleton


13. 查看一下配置等信息

一般情况下,hyperf 官方的源镜像都是配置好的
以下只是提供一下命令
查看 swoole


$ php --ri swoole
$ php -i | grep ini


14. php.ini 内写入一下信息

特别注意 Off 中 O 为大写


extension="grpc.so"
extension="redis.so"
extension="swoole.so"
swoole.use_shortname = 'Off'


15. 存在兼容性问题的扩展

  • 由于 Hyperf 基于 Swoole 协程实现

  • 而 Swoole 4 带来的协程功能是 PHP 前所未有的,所以与不少扩展都仍存在兼容性的问题。

  • 以下扩展(包括但不限于)都会造成一定的兼容性问题,不能与之共用或共存:

  • xhprof

  • xdebug

  • blackfire

  • trace

  • uopz

[!--infotagslink--]

相关文章

  • docker 启动elasticsearch镜像,挂载目录后报错的解决

    这篇文章主要介绍了docker 启动 elasticsearch镜像,挂载目录后报错的解决,具有很好的参考价值,希望对大家有所帮助。一起跟随小编过来看看吧...2020-11-20
  • 解决Docker中的error during connect异常情况

    这篇文章主要介绍了解决Docker中的error during connect异常情况,具有很好的参考价值,希望对大家有所帮助。一起跟随小编过来看看吧...2020-11-22
  • docker部署confluence的完整步骤

    这篇文章主要介绍了docker部署confluence的完整步骤,这里的镜像并不是小编自己写的是基于他人打包的文中有详细介绍,需要的朋友可以参考下...2021-06-11
  • 解决docker挂载的目录无法读写问题

    这篇文章主要介绍了解决docker挂载的目录无法读写问题,具有很好的参考价值,希望对大家有所帮助。一起跟随小编过来看看吧...2021-03-19
  • 教你使用Portainer管理多台Docker容器环境的方法

    这篇文章主要介绍了Portainer管理多台Docker容器环境,本文给大家介绍的非常详细,包括环境准备及管理docker的详细过程,需要的朋友可以参考下...2021-11-11
  • docker swarm外部验证负载均衡时不生效的解决方案

    这篇文章主要介绍了docker swarm外部验证负载均衡时不生效的问题,本文给大家介绍的非常详细,对大家的学习或工作具有一定的参考借鉴价值,需要的朋友可以参考下...2021-04-27
  • docker端口映射及外部无法访问问题

    这篇文章主要介绍了docker端口映射及外部无法访问问题,文中通过示例代码介绍的非常详细,对大家的学习或者工作具有一定的参考学习价值,需要的朋友们下面随着小编来一起学习学习吧...2021-01-19
  • Docker 解决openjdk容器里无法使用JDK的jmap等命令问题

    这篇文章主要介绍了Docker 解决openjdk容器里无法使用JDK的jmap等命令问题,具有很好的参考价值,希望对大家有所帮助。一起跟随小编过来看看吧...2020-12-04
  • 使用rpm安装指定版本docker(1.12.6)的详细步骤

    为了防止安装高版本的docker引发的错误,需要安装1.12.6版本的docker,下面小编给大家带来了使用rpm安装指定版本的docker(1.12.6)的步骤,感兴趣的朋友一起看看吧...2021-08-11
  • 一文搞定Docker安装ElasticSearch的过程

    通过本文可以帮助大家快速学习Docker安装ElasticSearch的过程,本文通过图文并茂的形式给大家介绍的非常详细,对大家的学习或工作具有一定的参考借鉴价值,需要的朋友参考下吧...2021-08-31
  • 在docker中执行linux shell命令的操作

    这篇文章主要介绍了在docker中执行linux shell命令的操作,具有很好的参考价值,希望对大家有所帮助。一起跟随小编过来看看吧...2021-03-30
  • 一条命令重启所有已停止的docker容器操作

    这篇文章主要介绍了一条命令重启所有已停止的docker容器操作,具有很好的参考价值,希望对大家有所帮助。一起跟随小编过来看看吧...2020-11-20
  • docker容器与宿主机的数据交互方式总结

    这篇文章主要给大家介绍了关于docker容器与宿主机的数据交互,文中通过示例代码介绍的非常详细,对大家的学习或者工作具有一定的参考学习价值,需要的朋友们下面随着小编来一起学习学习吧...2020-11-09
  • 安装Docker Desktop报错WSL 2 installation is incomplete的问题(解决报错)

    这篇文章主要介绍了安装Docker Desktop报错WSL 2 installation is incomplete的问题,解决方法很简单只需我们自己手动更新一下,我们根据提示去微软官网下载最新版的wsl2安装后即可正常打开,需要的朋友可以参考下...2021-06-13
  • 详解如何使用Docker部署Django+MySQL8开发环境

    这篇文章主要介绍了详解如何使用Docker部署Django+MySQL8开发环境,文中通过示例代码以及图文介绍的非常详细,对大家的学习或者工作具有一定的参考学习价值,需要的朋友们下面来一起学习学习吧...2020-07-19
  • Docker部署Rancher的方法(无坑)

    这篇文章主要介绍了Docker部署Rancher的方法,文中通过示例代码介绍的非常详细,对大家的学习或者工作具有一定的参考学习价值,需要的朋友们下面随着小编来一起学习学习吧...2021-01-06
  • .NET 5 部署在docker上运行的方法

    这篇文章主要介绍了.NET 5 部署在docker上运行的方法,本文给大家介绍的非常详细,对大家的学习或工作具有一定的参考借鉴价值,需要的朋友可以参考下...2021-03-06
  • Shell脚本构建Docker 半自动化编译打包发布应用操作

    这篇文章主要介绍了Shell脚本构建Docker 半自动化编译打包发布应用操作,具有很好的参考价值,希望对大家有所帮助。一起跟随小编过来看看吧...2021-03-30
  • Docker配置PHP开发环境教程

    现在很多开发者都使用Vagrant来管理他们的虚拟机开发环境,Vagrant确实很酷, 不过也有不少缺点(最主要的是它占用太多的资源)。在容器技术、Docker和更多类Docker技术出现后,解决这个问题就变得简单了。这篇文章主要介绍了Docker配置PHP开发环境,下面来一起看看吧。...2017-01-08
  • docker cp 拷贝文件 和 进入容器的操作

    这篇文章主要介绍了docker cp 拷贝文件 和 进入容器的操作,具有很好的参考价值,希望对大家有所帮助。一起跟随小编过来看看吧...2021-03-25