abp框架angular 項目docker 手動部署到Linux環境中


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

 


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM