register注册中心 ,参考案例git仓库:https://e.coding.net/adminv/gatewayworker/gatewayworker-register.git
docker build -t register .
docker run -it -p1238:1238 --name register register
gateway网关和business处理 ,参考案例git仓库
https://e.coding.net/adminv/gatewayworker/gatewayworker-business.git
docker build -t gateway .
暴露gateway 8282端口到宿主机8282, 暴露2000-2003(register联系gateway进程)
docker run -it -p 8282:8282 -p 2000-2003:2000-2003 --name=gateway gateway
谢谢大佬,晚上回去试下
可算找到问题了,之前在没有修改代码的时候一直都跑不起来,今天才发现原来在下载的demo 里这个东西
在安装环境的文档里说 安装 libevent扩展(或者event扩展)
可现在的docker 只安装了 libevent 并没有安装 event
但是代码里却判断安装 event
现是在跑起来了
apk add php7-pecl-event-3.0.6-r0 ; 安装php7-event拓展(libevent-dev-2.1.12-r4 不适合php7)
大佬还有一个问题就是守护进程运行为什么不行,就是
php start.php start -d
加了这个-d 就是跑不起来,不加就可以
这是为什么呢
因为-d,是后台运行,非阻塞控制台,所以容器执行完就退出来,不加d容器被阻塞才会一直运行着,而且不加d还有输出日志,docker logs 容器名 就能查看,
如果要php start.php start -d,那么就修改启动命令为 /bin/sh -c "php /app/start.php start -d ;/bin/sh "阻塞,或者使用/usr/bin/supervisord(需要安装的)
如果只是 docker run 在后台运行,只要把--it去掉,换成 -d就行了例如: docker run -d -p 1238:1238 --name=register register
1、在docker里跑的register容器,每次启动,ip地址都是会变的吧?
2、请问在docker swarm里能跑吗?
是啊,你解决了吗?通过端口映射发现不兼容
为啥通过telnet可以,通过在线websocket测试,一连就断开
留个记号。
这个git地址访问不了呀