详解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

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

(0)

相关推荐

  • PhpStorm 如何优雅的调试Hyperf的方法步骤

    前言: 我也是昨晚看了黄岛主的直播后学会的这个方法,今天中午趁着休息时间,把这个技巧分享给大家.就是大家在调试 Hyperf 的时候,可能总需要做一些服务的重启,重新点击 postman 的接口请求按钮,查看调试的结果是否正常,这篇文章就是教大家如何在 PhpStorm 中完成这一系列的操作. 一.Hyperf快速重启 第一步: 点击 PhpStorm 右上角的按钮,如图所示: 第二步: 点击弹框中左上角的添加按钮,然后再点击 PHP Script,如图所示: 第三步: 填写PHP脚本的信息:

  • 详解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-skelet

  • 详解Linux 下开发微信小程序安装开发工具

    详解Linux 下开发微信小程序安装开发工具 1. git clone https://github.com/yuan1994/wechat_web_devtools 然后创建一个文件夹 mkdir /opt/tencent/ 移动文件 mv ./wechat_web_devtools /opt/tencent 修改用户组 chown -R root:root /opt/tencent/wechat_web_devtools 启动测试工具 /opt/tencent/wechat_web_devt

  • 详解Docker下nginx外挂配置和文件

    外挂文件的目的: 文件不受docker镜像文件的约束,可以修改,重启容器,可以使用更新后的文件,不会被镜像还原 容器运行过程中记录的文件如日志等信息,可以被自动保存在外部存储上,不会由于容器重启而丢失 而运行容器有两种方式: docker run命令 docker-compose命令 docker run命令方式,通过-v参数挂载外部主机目录到容器内的路径上,有多个挂载点,就通过多个-v参数指定,而且只能使用绝对路径:docker-compose命令则通过service的方式描述容易,准确的说一

  • 详解docker下的Mysql镜像的使用方法

    通常初学者学习docker时,不太清楚怎样拉取一个Mysql镜像并使用,今天这篇文章简单介绍一下使用流程. 一.预习一下用到的docker命令: 1.docker images 列出本地主机上的镜像. 2.docker pull 从Docker Hub中拉取或者更新指定镜像. 3.docker run -d 标识是让 docker 容器在后台运行. -p 标识通知 Docker 将容器内部使用的网络端口映射到我们使用的主机上. --name 定义一个容器的名字,如果在执行docker run时没

  • 详解Window7 下开发php扩展

    一.首先查看phpinfo() 信息 PHP Version 5.4.34 Zend Extension Build API220100525,TS,VC9 PHP Extension Build API20100525,TS,VC9 Thread Safety enable 线程安全,VC9编译,5.4.34版本 二.开发前准备工作 php 5.3-5.4 :Visual C++ 9.0(Visual Studio 2008) 安装Cygwin(下载地址:http://www.cygwin.c

  • 详解Docker下搭建Jenkins构建环境

    首先需要搭建好docker环境的linux系统,这个教程多如牛毛,在此不再赘述. 然后编写一个dockerfile来生成一个镜像,dockerfile其实就是一系列命令的集合,有点像windows的批处理文件, 搭建Jenkins构建环境需要安装jdk.maven.tomcat.jenkins,另外还安装了GIT,用来构建GIT来源的代码,内容如下: FROM centos:7 # author info MAINTAINER xulijian 514045152@qq.com # instal

  • 详解Docker下使用Elasticsearch可视化Kibana

    Kibana 作为Elasticsearch优秀的可视化的开源分析工具,我们下面使用Docker结合进行最简单的上手演示. docker 使用教程 在这里我们使用Linux系统作为演示 系统:Fedora28 内核: uname -r 4.16.2-300.fc28.x86_64 docker版本 docker --version Docker version 18.03.0-ce, build 0520e24 安装docker-compose sudo curl -L https://gith

  • 详解Docker Swarm概念与用法

    Docker Swarm是Docker公司开发的容器集群管理服务.从1.12.0版本开始,已经是Docker安装后自带的一部分(捆绑软件)了,又称为Swarm Mode,无需额外安装. 与Kubernetes相比,Docker Swarm是一个简单的软件,似乎不堪大用.但是它与docker-compose兼容的优点,可以弥补一切.对于没有集群使用经验的小白,用Docker Swarm起步,是一个很好的选择. 概念 Docker Swarm,主要包含以下概念: Swarm Node Stack S

  • 详解docker容器的层的概念

    今天我们看看容器的层的概念. 上一节中,我们知道了,容器是一个进程,在这个进程的基础上,添加了下面3个部分: 1.启动Linux Namespace的配置实现与物理机的隔离. 2.设置Cgroups参数限制容器的资源. 3.生成系统文件目录,也就是rootfs文件,也叫镜像文件 这里需要备注的是:rootfs只是容器需要使用的基本文件的组合,并不包括操作系统内核,容器的操作系统内核依旧是使用宿主机的内核.当然,rootfs的存在,并不是没有意义,它的存在,使得容器拥有了一个最主要的性能:一致性.

  • 详解Docker在哪里保存日志文件

    目录 日志存储在哪里? 从容器内的应用程序查看日志 查看 Docker 守护进程日志 调试大多数 Linux 程序通常涉及检查日志文件,这可能是一个复杂的过程.但是,在 Docker 下的容器化环境中运行时,您需要使用更具体的工具来调试生产中的应用程序. 日志存储在哪里? 简单的答案是 Docker 将容器日志存储在其主要存储位置/var/lib/docker/. 每个容器都有一个特定于其 ID 的日志(完整 ID,而不是通常显示的缩短的 ID),您可以像这样访问它: /var/lib/dock

随机推荐