Nginx部署嘗試
參考:https://blog.csdn.net/weixin_33825683/article/details/92978381
使用Docker Machine搭建Docker Swarm叢集并部署nginx服務
或者先登入管理節點機器,然後再操作。
docker-machine ssh swarmMng
docker service create --replicas 3 --name web_nginx -p 80:80 nginx
docker service ps web_nginx
[email protected]:~$ docker service ps web_nginx
ID NAME IMAGE NODE DESIRED STATE CURRENT STATE ERROR PORTS
g007nfyckil4 web_nginx.1 nginx:latest swarmNd2 Running Running 49 seconds ago
mxw31vgrsye0 web_nginx.2 nginx:latest swarmMng Running Running about a minute ago
b7jt15nfg1l8 web_nginx.3 nginx:latest swarmNd1 Running Running about a minute ago
[email protected]:~$
在Docker-machine安裝的機器上通路http://192.168.99.104/才能有界面,在Windows實體機上通路不到。估計是網絡配置,需要再研究。
—解決辦法:在Docker-machine安裝的機器安裝Nginx,然後配置反向代理到Swarm叢集中的機器。Docker-machine建立虛拟機的IP動态的配置到主Nginx上,但是主Nginx機器存在性能瓶頸。這個需要再研究高可用和高性能的架構方案。
SpringBoot部署設計
一、采用通用鏡像然後再往鏡像上部署包。
docker pull openjdk 直接用docker-machine建立
如何編寫挂載位置?
如何運作一個Shell腳本
-----【可以直接寫在docker 的CMD指令中】是否最優方案????
以上方案違背了鏡像的理念?????????
二、将環境和代碼部署好之後,打包成一個鏡像然後再部署。代碼更新對應鏡像更新,代碼和環境不分開部署。--------認為可取。
關鍵編寫一個DockerFile,将代碼環境一起寫進去。
參考文章:
docker叢集——swarm、docker-machine一鍵部署
"三劍客”之Swarm探索應用叢集服務釋出