在Linux系統上直接運行.net core程序可以參考:https://blog.csdn.net/zxy13826134783/article/details/105908201
本文測試環境
centos7
步驟:
一 先安裝docker
1 更新yum到最新(時間會比較久)
yum update
然後一路輸入y
2 安裝需要的軟件包
yum install -y yum-utils device-mapper-persistent-data lvm2
3 設置yum源爲阿里雲
yum-config-manager --add-repo http://mirrors.aliyun.com/docker-ce/linux/centos/docker-ce.repo
4 安裝docker(-ce和-ee兩個版本,-ee是要收費的..)
yum install docker-ce
然後一路y
5 查看版本,確定是否安裝成功
docker -v
輸出如下圖:
6 啓動Docker
systemctl start docker
二 拉取asp .net core鏡像(需要等待很久)
docker pull mcr.microsoft.com/dotnet/core/aspnet:3.1
如下圖:
三 根據鏡像創建容器並啓動容器
docker run -id --name=dotnet1 -v ~/DllFile:/DllFile -p 5000:5000 mcr.microsoft.com/dotnet/core/aspnet
如下圖:
四 把發佈的.net core 程序通過secureCRT上傳到宿主機的DllFile目錄下,具體操作可以參考
https://blog.csdn.net/zxy13826134783/article/details/105908201中的那個動圖
五 進入容器,並啓動.net core程序
六 在瀏覽器中輸入http://ip:5000後輸出如下圖(注意:asp.net core程序時默認不支持ip來訪問的,所以需要把ip改爲localhost):
注意:
當部署web程序時,發現無法通過遠程訪問,原因有二:
1 asp.net core默認不允許通過ip來訪問,這時需要在Program中增加如下圖:
2 防火牆是否設置對應的端口爲開放:
如需要開放5000端口,輸入命令如下:
查詢5000端口是否開放:firewall-cmd --query-port=5000/tcp
當輸入爲no時,輸入命令:firewall-cmd --permanent --add-port=5000/tcp 來開放端口
設置完畢後,重啓防火牆:firewall-cmd --reload
參考:https://www.cnblogs.com/xxoome/p/7115614.html
當然,如果是阿里雲服務器或者騰訊雲服務器,還需要到對應的控制檯設置對端口進行放行