記一次學習docker部署aspnet core 2.2的過程


 

首先,我的學習服務器環境:

騰訊雲服務器:1 核 2 GB 1 Mbps

操作系統:CENTOS 7.4

 

進入正題:進入服務器,安裝docker

yum install docker

  然后啟動docker服務

systemctl start docker.sevice

  配置開機啟動

systemctl enable docker.service

  查看docker版本

docker -v

  

這是我安裝的版本,1.13.1

------------------------------------------------------------------------------------

接下來,可以准備好.net core 2.2的測試項目了,我這里使用的是.net core 2.2的MVC項目。

首先,修改Program.cs口:

把端口改為8080.后面會知道為什么修改端口。 

 

在項目根目錄創建個dockerfile文件,這個是沒有后綴的。

(PS:如果是新建的項目,可以在新建項目的時候選擇啟用docker支持,會自動生成Dockerfile文件)

 原本dockerfile文件里面的配置是有寫進行代碼編譯打包的,但是我這里是本地打包,把發布后的文件復制到服務器上面的,所以這里就改一下dockerfile文件

FROM mcr.microsoft.com/dotnet/core/aspnet:2.2
EXPOSE 8080

WORKDIR /app
COPY . /app
ENTRYPOINT ["dotnet", "WebApplication1.dll"]

FROM是指定該鏡像的運行環境。

然后指定容器映射端口8080

最后dotnet運行項目

發布項目到某目錄,把發布文件復制到linux服務器上面。我這里服務器路徑是 Home/www/testsite

 

------------------------------------------------------------------------------------------

這里回到服務器。

進入到Home/www/testsite目錄里面。

進來過后,把目錄文件通過dockerfile加載到docker鏡像。

docker build -t testsite:1.0 .

  調用命令 docker images 會發現已經有這個鏡像了

如果服務器沒安裝  mcr.microsoft.com/dotnet/core/aspnet:2.2 這個鏡像的話,docker會拉取這個鏡像下來。

最后,運行 docker run -p 8080:8080 testsite:1.0              (8080:8080表示的是容器內端口映射容器外端口)

當看到運行起來過后,就表示能打開了。(如果是雲服務器有安全組策略的,需要打開8080端口。)

通過外網IP訪問xxx.xxx.xx.xx:8080 就能打開了

 


免責聲明!

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



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