自己用Dockerfile搭建hyperf框架运行环境

正常搭建都是通过hyperf官方docker库,如执行:

docker run --name hyperf -v D:/xxxx/hyperf:/data/project -p 9501:9501 -it --privileged -u root --entrypoint /bin/sh hyperf/hyperf:8.2-alpine-v3.11-swoole

以上命令确实方便快捷,但是要安装第三方php扩展则很不方便。

可以自己编写php-cli的Dockerfile,代码如下:

FROM php:8.2-cli

#安装依赖工具
RUN apt-get update && apt-get install -y libssl-dev \
zlib1g-dev \
libicu-dev \
g++ \
libldap2-dev

#安装php ldap扩展
RUN docker-php-ext-install ldap

#安装php pcntl扩展
RUN docker-php-ext-install pcntl

#安装依赖工具
RUN apt-get install -y build-essential  libxml2-dev cmake git libbrotli-dev 

#安装php sockets扩展
RUN docker-php-ext-install sockets
 
#拉去nghttp2并编译代码 
RUN git clone https://github.com/nghttp2/nghttp2.git && \
    cd nghttp2 && \
    mkdir build && \
    cd build && \
    cmake .. && \
    make && \
    make install

# 安装 swoole 扩展
RUN pecl install swoole-6.0.2 \
    && docker-php-ext-enable swoole 

#安装composer
RUN curl -sS https://getcomposer.org/installer | php -- --install-dir=/usr/local/bin --filename=composer

#设置工作目录
WORKDIR /data/www

#暴露端口
EXPOSE 9501

#启动的时候执行脚本命令
CMD [ "php","/data/www/bin/hyperf.php","start"]

在新建docker-compose.yml,代码如下:

version: '3'
services:
  swoole:
    build: .
    volumes:
      - /xx/hyperf-skeleton:/data/www
    ports:
      - "9501:9501"

然后本机通过composer 创建hyperf-skeleton项目

然后执行docker-compose build 进行编译

编译成功之后docker-compose up 启动 即可成功

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值