1. 程式人生 > >Asp.Net Core 程序部署到Linux(centos)生產環境(二):docker部署

Asp.Net Core 程序部署到Linux(centos)生產環境(二):docker部署

大神 生產環境 blog for 服務器 路徑 結構 dot images

技術分享圖片

運行環境

照例,先亮環境;軟件的話我這裏假設你已經批準好了.net core 運行環境,未配置可以看我的這篇[linux(centos)搭建.net core 運行環境]

騰訊雲

centos:7.2
cpu:1核 2G內存 1M帶寬

docker:18.06.1-ce

安裝docker

安裝其實很簡單,就不重復說了,請查看純潔大神這篇文章

準備你的.net core web 程序

我這裏新建一個空的.net core web程序用以演示,實際部署時是你的項目

創建web項目(我自己使用vs2017 ,如使用vscode的需要自己安裝windows的SDK和使用dotnet命令)

技術分享圖片

首先確保你的項目能在windows上運行

技術分享圖片

修改一下運行綁定的的端口號

技術分享圖片

添加Dockerfile

填入如下內容

FROM microsoft/dotnet:2.1-aspnetcore-runtime
WORKDIR /app
COPY . .
ENTRYPOINT ["dotnet", "WebApplication3.dll"]

技術分享圖片

並設置Dockerfile的屬性

!技術分享圖片

ok,接下來發布

我發布到默認的 bin\Release\netcoreapp2.1\publish?下面,你們可以自定義目錄

技術分享圖片

發布完成後可看到如下文件結構

技術分享圖片

ok,web程序已經準備好。

上傳應用程序到linux

我這裏使用xftp工具上傳,上傳目錄是 /home/website/WebApplication3

技術分享圖片

構建鏡像

執行:

cd /home/website/WebApplication3
docker build -t webapplication3 .

這裏是去到Dockerfile所在的目錄,構建一個名字叫做webapplication3的鏡像,註意build命令後面的.不可獲取,這個.代表的是當前構建鏡像的上下文路徑;

技術分享圖片

看到Successfully心情莫名愉悅,這說明鏡像構建成功,我使用命令docker images 看看:

技術分享圖片

啟動容器

執行下面命令,啟動我們剛剛構建好的webapplication3 容器

docker run --name webapplication3 -d -p 5004:5004 webapplication3

這樣表示容器正常啟動了技術分享圖片

我們看看:

docker ps

技術分享圖片

容器正常運行,瀏覽器訪問 http://你的服務器ip:5004

技術分享圖片

噢耶,大功告成!

至此,.net core 程序docker部署方式完畢,若使用服務方式部署,請看我的 Asp.Net Core 程序部署到Linux(centos)生產環境(一):普通部署

Asp.Net Core 程序部署到Linux(centos)生產環境(二):docker部署