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

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

Image result for linux .net core docker

執行環境

照例,先亮環境;軟體的話我這裡假設你已經批准好了.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命令)

1539874500349

首先確保你的專案能在windows上執行

1539874615825

修改一下執行繫結的的埠號

1539937202293

新增Dockerfile

填入如下內容

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

1539939696571

並設定Dockerfile的屬性

!1539939714933

ok,接下來發布

我釋出到預設的 bin\Release\netcoreapp2.1\publish 下面,你們可以自定義目錄

1539939750380

釋出完成後可看到如下檔案結構

1539939811233

ok,web程式已經準備好。

上傳應用程式到linux

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

1539939837522

構建映象

執行:

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

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

1539940162401

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

1539940240925

啟動容器

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

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

這樣表示容器正常啟動了1539941046054

我們看看:

docker ps

1539941121568

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

1539941363867

噢耶,大功告成!

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