WisPlanner的環(huán)境搭建 四 構建wisp-ui的Docker image

1. wisp-ui的基本概念

wisp-rs提供的是業(yè)務邏輯的實現(xiàn)。與wisp-rs不同,wisp-ui是提供Web頁面的渲染。wisp-ui同樣是基于OSGi的應用。Java程序構建的UI通過wisp-ui渲染成為Web頁面。
所以,我們可使用上一節(jié)相似的方式進行部署。
特別注意的是,wisp-ui的基本環(huán)境配置為使用https的,我們在后面會使用Ngnix來進行反向代理,因此,在wisp-ui上配置https就沒有必要的了。所以,我們需要修改配置文件。

2. wisp-ui發(fā)行版的目錄結構

image.png

configuration
保存OSGi運行區(qū),config.ini和一組配置文件
lang
語言包
scheme
包含若干產品的site文件的模板
plugins
系統(tǒng)運行的OSGi bundle
site
包含站點的lib、資源等等
有關wisp-ui的技術細節(jié),我在未來的章節(jié)介紹。

3. wisp-ui目錄結構的改造

與wisp-rs的思路一致,wisp-ui的configuration目錄還是要外置,lang,scheme,site文件都放在configuration目錄中。


image.png

wisp-ui的目錄:


image.png

3. 創(chuàng)建wisp-ui鏡像

打包:

tar -cvf wisp-ui.tar.gz wisp-ui

創(chuàng)建Dockerfile:

FROM ubuntu
LABEL version="6.0" description="wisp-ui" by="ghuazh"
ADD wisp-ui.tar.gz /
ENV LANG C.UTF-8
VOLUME ["/wisp-ui/configuration"]
WORKDIR /wisp-ui/
EXPOSE 80 443
CMD ["./wisp"]

創(chuàng)建鏡像

sudo docker build -t wisp-ui:latest .

注意上面最后一個點,表示Dockerfile在當前目錄中。
創(chuàng)建容器并啟動

sudo docker run --name wisp-ui --network mongo --ip 192.168.100.5 -p 80:80  \
-v /home/wis/build/client/configuration:/wisp-ui/configuration -d wisp-ui

現(xiàn)在我們訪問 http://192.168.100.5 可以看到站點已經可以連接了:


image.png

我們刪除剛才的wisp-ui容器,在81,82,83端口分別創(chuàng)建3個wisp-ui為下一步的集群做好準備。

sudo docker rm wisp-ui
sudo docker run --name wisp-ui-0 --network mongo --ip 192.168.100.6 -p 81:80 \ 
-v /home/wis/build/client/configuration:/wisp-ui/configuration -d wisp-ui
sudo docker run --name wisp-ui-1 --network mongo --ip 192.168.100.7 -p 82:80 \
-v /home/wis/build/client/configuration:/wisp-ui/configuration -d wisp-ui
sudo docker run --name wisp-ui-2 --network mongo --ip 192.168.100.8 -p 83:80 \
-v /home/wis/build/client/configuration:/wisp-ui/configuration -d wisp-ui

現(xiàn)在我們可以看到有下列的容器正在運行

wis@wis:~/build/client$ sudo docker ps -a
CONTAINER ID        IMAGE               COMMAND                  CREATED             STATUS              PORTS                                            NAMES
89c69c2b22af        wisp-ui             "./wisp"                 8 minutes ago       Up 8 minutes        443/tcp, 0.0.0.0:83->80/tcp                      wisp-ui-2
e6f7fd2045dd        wisp-ui             "./wisp"                 9 minutes ago       Up 9 minutes        443/tcp, 0.0.0.0:82->80/tcp                      wisp-ui-1
5de373caed7f        wisp-ui             "./wisp"                 9 minutes ago       Up 9 minutes        443/tcp, 0.0.0.0:81->80/tcp                      wisp-ui-0
25563448ca12        wisp-rs             "./rs"                   6 hours ago         Up 6 hours          0.0.0.0:6123->6123/tcp, 0.0.0.0:9158->9158/tcp   wisp-rs
1cfbd13c6cca        mongo               "docker-entrypoint.s…"   43 hours ago        Up 9 hours          27017/tcp                                        mongo2
788c8440db14        mongo               "docker-entrypoint.s…"   43 hours ago        Up 9 hours          27017/tcp                                        mongo1
668ef82126d1        mongo               "docker-entrypoint.s…"   43 hours ago        Up 9 hours          27017/tcp                                        mongo0

我們下一章開始使用Ngnix來代理這些wisp-ui

?著作權歸作者所有,轉載或內容合作請聯(lián)系作者
【社區(qū)內容提示】社區(qū)部分內容疑似由AI輔助生成,瀏覽時請結合常識與多方信息審慎甄別。
平臺聲明:文章內容(如有圖片或視頻亦包括在內)由作者上傳并發(fā)布,文章內容僅代表作者本人觀點,簡書系信息發(fā)布平臺,僅提供信息存儲服務。

相關閱讀更多精彩內容

友情鏈接更多精彩內容