zoukankan      html  css  js  c++  java
  • workerman docker 运行试用

    看到别人项目使用了workerman 作为webserver ,看了下介绍发现此框架还是挺强大的,比较喜欢使用
    docker运行软件,所以基于php 7.3 的基础镜像简单使用下

    环境准备

    项目使用了composer(主要是本地) 同时配置了event 模块

    • docker-compose 文件
     
    version: "3"
    services: 
       app:
         build: ./
         image: dalongrong/workerman:3.5.22
         ports: 
         - "2345:2345"
    • dockerfile
    FROM php:7.3-cli-stretch
    COPY app /usr/src/myapp
    WORKDIR /usr/src/myapp
    COPY entrypoint.sh /
    RUN chmod +x /entrypoint.sh
    RUN uname -a && apt update
    RUN docker-php-ext-install sockets pcntl
    RUN apt-get install libevent-dev libssl-dev -y && pecl install event
    RUN echo extension=event.so > /usr/local/etc/php/conf.d/30-event.ini
    EXPOSE 2345
    ENTRYPOINT [ "/entrypoint.sh" ]
    • entrypoint.sh
    #!/bin/sh
    php /usr/src/myapp/app.php start

    构建&&启动

    • 构建
    docker-compose build
    • 启动
    docker-compose up -d
    • 访问效果
    curl -i http://localhost:2345
    HTTP/1.1 200 OK
    Content-Type: text/html;charset=utf-8
    Connection: keep-alive
    Server: workerman/3.5.22
    Content-Length: 13
    hello world 

    常见问题说明

    • pcntl 配置问题
      日志信息
     
    Fatal error: Uncaught Error: Call to undefined function pcntl_signal() 

    因为默认这个没有启用,解决方法:

    docker-php-ext-install pcntl
    • 其他依赖问题
      安装event 需要sockets,安装sockets 需要openssl

    参考资料

    http://doc.workerman.net/install/install.html
    https://github.com/rongfengliang/workerman-docker
    https://github.com/walkor/Workerman

  • 相关阅读:
    Core Data
    scrollViews
    网络通信
    UIView
    textView取消键盘
    AFNetworking转载
    多线程
    css3[转载][菜单导航] 带有记忆功能的多页面跳转导航菜单
    jQuery翻牌或百叶窗效果
    jQuery联动日历(三)完成
  • 原文地址:https://www.cnblogs.com/rongfengliang/p/12067677.html
Copyright © 2011-2022 走看看