目錄
前言:docker和k8s相關介紹 https://blog.csdn.net/qq_38204134/article/details/103861988
前端:
1.不使用docker-發佈操作
1.1方式1:
編譯打包,react項目的打包命令: npm run build
此時會自動生成build文件夾:
裏面包含index、js、css文件,然後打開index文件即可。
https://segmentfault.com/a/1190000011085024
https://blog.csdn.net/kerryqpw/article/details/78183417
也可以把index文件放在後端repo(springboot)的模板文件夾(\src\main\resources\templates)下;js、css放在\src\main\resources\static目錄。
1.2方式2(推薦):
打包步驟同上,把 build這個文件夾 放到雲服務器上,安裝nginx(因爲涉及到打開應用網址的代理問題。nginx解釋:HTTP和反向代理web服務器)
最後 輸入 systemctl start nginx
開啓nginx服務。
瀏覽器上輸入 yourIpAdress:5000/ 便可以訪問你的頁面了
參考:https://blog.csdn.net/weixin_34150224/article/details/88986416
1.3方式3:
打包步驟同上,我們先在本地運行下build目錄看看
npm i http-server -g
http-server -p 4444 ./build
訪問 http://localhost:4444 即可看到打包後的頁面。
2.使用docker-發佈操作(推薦)
簡單而言,項目工程根目錄創建“Dockerfile”文件(無後綴名),然後執行docker build,docker run 即可:
https://cirnobreak.github.io/blog/2019/01/26/dockernext/
https://developer.51cto.com/art/201910/604351.htm
但是往往還需要在創建鏡像時,需要加上nginx(nginx解釋:HTTP和反向代理web服務器),因爲涉及到打開應用網址的代理問題。
兩種方法:
- dockerfile中進行npm build參考:http://anata.me/2019/09/30/%E5%86%99%E7%BB%99%E5%89%8D%E7%AB%AF%E5%B7%A5%E7%A8%8B%E5%B8%88%E7%9C%8B%E7%9A%84Docker%E6%95%99%E7%A8%8B-%E5%AE%9E%E6%88%98%E7%AF%87/
- 先npm build,dockerfile中進行打包好的靜態文件夾build的拷貝參考:http://www.freesion.com/article/132543034/
2.1K8s部署服務
參考下文的後端部署-2.3K8s部署服務。
3.debug操作
用命令:npm start或者編輯器的啓動命令npm start或運行node index.js(如果無node_modules文件夾需要先npm/yarn install)
後端:
1.不使用docker
- 導出項目爲war,將war包複製到tomcat的webapps。
- 或者打成jar,使用java -jar 命令。 參考:https://www.jianshu.com/p/c616380095f0
2.使用docker
2.1jar包方式:
https://www.jianshu.com/p/397929dbc27d
2.2war包方式:
因爲應用是要運行在tomcat中,所以需要進行一些tomcat的配置以及鏡像準備。然後將war包放到Docker中的Tomcat容器中。
具體操作是,先下載tomcat鏡像並啓動,然後創建一個新目錄以及DockerFile文件,拷貝war放到該目錄下。
參考:https://blog.csdn.net/weixin_34309543/article/details/91909415
如果希望後端接口可以通過域名訪問,則需要安裝啓動nginx,參考:
手動安裝nginx:https://blog.csdn.net/weixin_34150224/article/details/88986416
作爲鏡像安裝:
- http:https://blog.csdn.net/weixin_43451374/article/details/92843731+https://lyp123.com/code/springboot-jar-nginx-port.html
- https:https://blog.csdn.net/a_squirrel/article/details/79729690
2.3K8s部署服務
因爲k8s是基於dokcer容器的集羣,所以應該在每臺服務器上都安裝docker。所以前提是,微服務/應用已經有對應版本的鏡像(k8s是一個開源的容器集羣管理系統,可以實現容器集羣的自動化部署、自動擴縮容、維護等功能。)
參考文檔:
- k8s安裝教程:https://www.cnblogs.com/deny/p/10136827.htmlandhttps://blog.csdn.net/qq_36327717/article/details/102778143
- k8s部署應用可視化工具(Rancher)教程:http://www.mamicode.com/info-detail-2619615.html
- k8s部署應用教程:https://blog.csdn.net/wucong60/article/details/81458409、https://www.iteye.com/blog/wpp65-2432339
3.debug操作
debug時,可以直接用編輯器run啓動: