利用Docker運行.net core程序

在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

當然,如果是阿里雲服務器或者騰訊雲服務器,還需要到對應的控制檯設置對端口進行放行
 

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章