想快速部署一个基于 workerman/webman 的高性能服务?一条 Docker 命令即可搞定!
docker run -d \
--name docker-webman \
-it \
-p 8787:8787 \
-v D:/dnmp/www/webman/webman.tinywan.com:/app \
tinywan/docker-php-webman:7.4.33-cli-alpine
启动后,服务监听在宿主机的 8787 端口,代码目录已映射为
webman.tinywan.com。
# 平滑重载(改完代码最常用)
docker exec docker-webman php start.php reload
# 完整重启 / 停止 / 状态 / 连接数
docker exec docker-webman php start.php restart
docker exec docker-webman php start.php stop
docker exec docker-webman php start.php status
docker exec docker-webman php start.php connections
# 查看日志(最常用)
docker logs -f docker-webman
docker logs --tail 100 docker-webman
# 容器管理
docker stop docker-webman
docker start docker-webman
docker restart docker-webman
docker rm -f docker-webman # 强制删除
# 进入容器
docker exec -it docker-webman sh
docker exec docker-webman composer install
docker exec docker-webman composer update
docker exec docker-webman composer require workerman/workerman
alias dw='docker exec docker-webman'
alias dw-reload='dw php start.php reload'
alias dw-restart='dw php start.php restart'
alias dw-status='dw php start.php status'
alias dw-conns='dw php start.php connections'
alias dw-logs='docker logs -f docker-webman'
设置完成后,直接输入 dw-reload 即可秒级热更新,开发体验非常丝滑。
┌──────────┬────────────────────┐
│ PHP 版本 │ 推荐标签 │
├──────────┼────────────────────┤
│ PHP 7.4 │ v7.4.33-cli-alpine │
├──────────┼────────────────────┤
│ PHP 8.1 │ v8.1.28-cli-alpine │
├──────────┼────────────────────┤
│ PHP 8.2 │ v8.2.17-cli-alpine │
├──────────┼────────────────────┤
│ PHP 8.3 │ v8.3.30-cli-alpine │
├──────────┼────────────────────┤
│ PHP 8.4 │ v8.4.16-cli-alpine │
└──────────┴────────────────────┘
s6-rc: info: service fix-attrs successfully started
s6-rc: info: service legacy-cont-init: starting
s6-rc: info: service legacy-cont-init successfully started
s6-rc: info: service legacy-services: starting
s6-rc: info: service legacy-services successfully started
Workerman[start.php] start in DEBUG mode
Master pid:67 is not alive
----------------------------------------------------------- WORKERMAN -----------------------------------------------------------
Workerman/5.1.3 PHP/8.4.17 (JIT off) Linux/6.8.0-90-generic
------------------------------------------------------------ WORKERS ------------------------------------------------------------
event-loop proto user worker listen count state
event tcp root webman http://0.0.0.0:8288 4 [OK]
event tcp root monitor none 1 [OK]
event tcp root plugin.tinywan.rpc.text.protocol text://0.0.0.0:9512 10 [OK]
event tcp root plugin.webman.channel.server frame://0.0.0.0:2206 1 [OK]
event tcp root plugin.webman.push.server websocket://0.0.0.0:3131 1 [OK]
---------------------------------------------------------------------------------------------------------------------------------
Press Ctrl+C to stop. Start success.
bcmath
bz2
calendar
Core
ctype
curl
date
dom
event
fileinfo
filter
ftp
gd
hash
iconv
json
libxml
mbstring
mysqli
mysqlnd
openssl
pcntl
pcre
PDO
pdo_mysql
pdo_sqlite
Phar
posix
readline
redis
Reflection
session
SimpleXML
sockets
sodium
SPL
sqlite3
standard
swoole
tokenizer
xlswriter
xml
xmlreader
xmlwriter
Zend OPcache
zip
zlib
[Zend Modules]
Zend OPcache
👍👍👍
👍
8.+的版本扩展能加下oracle么,好多docker8以上都没有oracle
你怎么还在用oracle吗?
银行项目,国产数据库有点不太行
自己编译一下
妙啊 已收藏 感谢大佬分享