register注冊中心 ,參考案例git倉庫:https://e.coding.net/adminv/gatewayworker/gatewayworker-register.git
docker build -t register .
docker run -it -p1238:1238 --name register register
gateway網(wǎng)關(guān)和business處理 ,參考案例git倉庫
https://e.coding.net/adminv/gatewayworker/gatewayworker-business.git
docker build -t gateway .
暴露gateway 8282端口到宿主機8282, 暴露2000-2003(register聯(lián)系gateway進程)
docker run -it -p 8282:8282 -p 2000-2003:2000-2003 --name=gateway gateway
可算找到問題了,之前在沒有修改代碼的時候一直都跑不起來,今天才發(fā)現(xiàn)原來在下載的demo 里這個東西
在安裝環(huán)境的文檔里說 安裝 libevent擴展(或者event擴展)
可現(xiàn)在的docker 只安裝了 libevent 并沒有安裝 event
但是代碼里卻判斷安裝 event
現(xiàn)是在跑起來了
因為-d,是后臺運行,非阻塞控制臺,所以容器執(zhí)行完就退出來,不加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
謝謝大佬,晚上回去試下