1、https://aspnetboilerplate.com/Templates
2、后端項目發布,在publish中abp默認已經存在DockerFile文件
3、修改后端文件中的DockerFile文件
默認的值為 FROM microsoft/aspnetcore:2.0.1。但我當前的這個要求的是2.2的版本,在微軟的docker官網上,根據自己實際項目需要更新這個值。
4、安裝linux服務器,我自己用的是vmware虛擬機,linux版本是centos7,別忘了修改yum鏡像源。
5、安裝docker,並啟動服務,不會了請自行Bing
6、如果你的虛擬機無法上網,請參考 https://www.cnblogs.com/lishidefengchen/p/10564326.html
7、我本機是Windows環境,使用Putty里面的pscp工具來進行文件傳輸,pscp具體用法,請參考官方文檔 https://the.earth.li/~sgtatham/putty/0.71/htmldoc/Chapter5.html#pscp-usage
8、把后台發布好的文件通過pscp拷貝到/root/目錄下,具體哪個目錄,請根據個人喜好而定
9、在linux中進入/root/publish目錄下
$ cd /root/publish #publish 目錄就是上一步發布出來的后台文件
10、查看本機IP地址,執行命令 ip addr
11、根據本機IP地址,修改發布文件中的配置文件
12、執行命令 docker build -t 鏡像文件名 .
13、運行鏡像,執行命令 docker run -d -p 21021:80 鏡像文件名,參數 -d 該命令是后台靜默運行指令,這樣你還可以繼續在終端進行其他操作,端口號21021,是配置文件中的端口號;端口號80是nginx服務的端口號
14、如果你的linux是帶GUI的,你可以在本地訪問一下試試,如果沒有帶界面,執行curl http://localhost:21021 嘗試看看,或者在你的物理機的瀏覽器里試試能不能訪問
15、如果發現不能訪問,可能是虛擬防火牆的設置問題,具體設置不說了就,你直接關閉防火牆,一般情況就可以訪問了
————前端部署開始—————
1、同樣先要發布生產版本的文件,即執行ng build --prod
2、會發現在當前項目目錄下生成了一個dist文件夾,里面的文件都是經過壓縮的,這個就是發布出來的文件
3、這里需要注意的是,我們需要把前端項目中的DockerFile文件拷貝到dist目錄下,否則docker生成的鏡像不能執行,這個是我踩的坑
4、將發布的的文件通過pscp工具拷貝到linux環境下,例如:/root/angular/
5、在linux環境下,終端里執行cd /root/angular/dist,將當前目錄指到dist目錄下
6、同樣建議根據當前環境的Ip修改配置文件
7、執行docker命令,docker build -t angular-web . 這樣就生成了一個叫 angualr-web 的 image
8、執行docker命令,docker run -d -p 4200:80 angular-web 后台靜默執行鏡像文件 angular-web
9、瀏覽器訪問,http://ip:4200
——————結束————————
生成的docker鏡像也可以進入到容器中進行相關配置文件的修改操作,參考:https://www.cnblogs.com/lishidefengchen/p/10593929.html