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
workerman docker 运行试用的更多相关文章
- scylladb docker 运行试用
scylladb 是兼容cassandra 的数据存储系统,从官方的性能报告,比原生的apache cassandra 有好多 的提高 使用docker 运行,具体的也可以参考官方文档,后边会提供 ...
- proxysql 学习一 proxysql docker 运行试用
proxysql 是一个比较强大的mysql proxy 服务,支持动态mysql 实例调整,查询重写,查询cache,监控,数据镜像,读写分离 以及ha,最近已经发布了2.0 ,很值得试用下 环境准 ...
- torodb docker 运行试用
torodb 可以方便的让你迁移到pg,同时使用标准原生的sql 查询 使用官方的docker-compose 进行测试 环境准备 docker-compose 文件 wget https://raw ...
- cronicle docker 运行试用
Cronicle 是一款基于nodejs 开发的分布式任务调度工具,包含了比较全的UI,使用也比较简单,为了 方便学习,简单制作了一个docker 镜像,方便使用 Dockerfile FROM ...
- ipfs docker 运行试用
ipfs 是一个分布式,p2p 的文件系统,参考了git.bt.sfs 以及web 的设计 环境准备 docker-compose 文件 version: "3" services ...
- 在 Azure 上使用 Docker运行 Mono
Docker 是最近相当热门的一个名词,它是一个基于 Linux Container 的轻量化的虚拟技术,而微软也相当积极与 Docker 合作,在 Azure 上支持这个火热的技术,并且提供简单的方 ...
- Docker运行 Mono
Docker运行 Mono Docker 是最近相当热门的一个名词,它是一个基于 Linux Container 的轻量化的虚拟技术,而微软也相当积极与 Docker 合作,在 Azure 上支持这个 ...
- 如何使用windows版Docker并在IntelliJ IDEA使用Docker运行Spring Cloud项目
如何使用windows版Docker并在IntelliJ IDEA使用Docker运行Spring Cloud项目 #1:前提准备 1.1 首先请确认你的电脑是windows10专业版或企业版,只有这 ...
- Docker 运行Tensorboard 和 jupyter的正确方法
Docker 运行Tensorboard 和 jupyter的正确方法 网上找了很多方法都是jupyter 运行正常但不知道如何打开Tensorboard.折腾了很久,实验很多中方法最终找到了一个正确 ...
随机推荐
- 使用nexus搭建maven仓库(maven 本地私服)
我们在使用maven的时候,对于项目所依赖的jar包,maven默认会在中央仓库下载jar包,到本地的磁盘目录(如果没有配置则是用户目录下/.m2/repository文件夹下).如果公司内部搭了一个 ...
- TestNg之XMl形式实现多线程测试
为什么要使用多线程测试? 在实际测试中,为了节省测试时间,提高测试效率,在实际测试场景中经常会采用多线程的方式去执行,比如爬虫爬数据,多浏览器并行测试. 关于多线程并行测试 TestNG中实现多线程并 ...
- ASP.NET web.config 配置里部分参数详细说明
Session配置 <!-- <identity impersonate = "false" [true|false] userName = "" ...
- 单独KafkaConsumer实例and多worker线程。
1.单独KafkaConsumer实例and多worker线程.将获取的消息和消息的处理解耦,将消息的处理放入单独的工作者线程中,即工作线程中,同时维护一个或者若各干consumer实例执行消息获取任 ...
- ArcGIS Server JavaScript API中ESRI字体下载
---------------------------------------------------------------------------------- import sys, os im ...
- Winform 美化
首先,我们先来实现主界面的扁平化 此处分为两个步骤,第一步是更改winform自带的MainForm窗体属性,第二步是添加窗体事件. 将主窗体FormBorderStyle更改为None,这样就得到了 ...
- Python - 字典 - 第十天
Python 字典 字典是另一种可变容器模型,且可存储任意类型对象. 字典的每个键值(key=>value)对用冒号(:)分割,每个对之间用逗号(,)分割,整个字典包括在花括号({})中 ,格式 ...
- java基本程序设计结构总结
学习一门语言:(1)掌握它的表现形式(2)这些语言什么应用. 1.1关键字 1.关键字是被赋予了特殊含义的单词. 2.关键字特点:关键字所有字母都小写. 3.类名的每一个单词开头必须大写. 1.2标识 ...
- 在vue里使用codemirror的两种用法
这是我自己做的一个左边点击对应的标题,右边显示相应代码的一个功能.代码显示这里用的是vue-codemirror插件. 第一种用法: 1.安装:npm install vue-codemirror - ...
- Java打印9*9乘法表
废话不多说直接贴代码, 先放一个标准的正三角形状的 for (int i = 1; i <= 9; i++) { for (int j = 1; j <= i; j++) { System ...