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

 更新时间:2020年01月09日 11:07:39   作者:Hyperf  
这篇文章主要介绍了详解Docker 下开发 hyperf 完整使用示例,文中通过示例代码介绍的非常详细,对大家的学习或者工作具有一定的参考学习价值,需要的朋友们下面随着小编来一起学习学习吧

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

以上就是本文的全部内容,希望对大家的学习有所帮助,也希望大家多多支持脚本之家。

相关文章

  • Docker容器host与none网络的使用

    Docker容器host与none网络的使用

    本文主要介绍了Docker容器host与none网络的使用,文中通过示例代码介绍的非常详细,对大家的学习或者工作具有一定的参考学习价值,需要的朋友们下面随着小编来一起学习学习吧<BR>
    2022-06-06
  • Docker中iptables规则在iptables重启后丢失的完整过程

    Docker中iptables规则在iptables重启后丢失的完整过程

    这篇文章主要给大家介绍了关于Docker中iptables规则在iptables重启后丢失的相关资料,文中通过示例代码介绍的非常详细,对大家学习或者使用Docker具有一定的参考学习价值,需要的朋友们下面来一起学习学习吧
    2020-05-05
  • docker创建centos容器并在容器里下载MySQL本地连接MySQL

    docker创建centos容器并在容器里下载MySQL本地连接MySQL

    这篇文章主要介绍了docker创建centos容器并在容器里下载MySQL本地连接MySQL,文章内容介绍详细需要的小伙伴可以参考一下
    2022-03-03
  • MinIO存储在docker中安装及其使用方式

    MinIO存储在docker中安装及其使用方式

    这篇文章主要介绍了MinIO存储在docker中安装及其使用方式,具有很好的参考价值,希望对大家有所帮助。如有错误或未考虑完全的地方,望不吝赐教
    2023-04-04
  • docker registry私服搭建的方法

    docker registry私服搭建的方法

    这篇文章主要介绍了docker registry私服搭建的方法,docker官方的registry镜像分为两个版本,v2和v2以前的版本,本文将分别搭建基于SSL和登录认证的以上两个版本的docker私服
    2018-05-05
  • docker安装redis设置密码并连接的操作

    docker安装redis设置密码并连接的操作

    这篇文章主要介绍了docker安装redis设置密码并连接的操作,具有很好的参考价值,希望对大家有所帮助。一起跟随小编过来看看吧
    2020-12-12
  • docker该如何删除已停止的容器

    docker该如何删除已停止的容器

    Docker是一个非常有趣的项目,容器是独立运行的一个或一组应用,及他们的运行环境,容器是Docker中的一个重要的概念,这篇文章主要给大家介绍了关于docker该如何删除已停止的容器的相关资料,需要的朋友可以参考下
    2023-05-05
  • 使用 Azure Container Registry 储存镜像的问题

    使用 Azure Container Registry 储存镜像的问题

    Azure Container Registry(容器注册表)是基于 Docker Registry 2.0规范的托管专用 Docker 注册表服务。这篇文章主要介绍了使用 Azure Container Registry 储存镜像,需要的朋友可以参考下
    2021-05-05
  • Docker push镜像失败解决方法

    Docker push镜像失败解决方法

    这篇文章主要介绍了Docker push镜像失败解决方法的相关资料,这里对解决push 镜像失败提供了解决方案,需要的朋友可以参考下
    2016-12-12
  • Docker配置本地镜像与容器的存储位置

    Docker配置本地镜像与容器的存储位置

    最近在学习docker,本文主要介绍了Docker配置本地镜像与容器的存储位置,需要的朋友们下面随着小编来一起学习学习吧
    2021-05-05

最新评论