ASP.NET Core:使用Docker部署應用程序

一、前言

本篇文章講解如何在Linux上使用Docker來部署ASP.NET Core應用程序。

二、

1、創建應用程序

使用ASP.NET Core創建一個MVC應用程序,並修改Home控制器Index視圖代碼:

@{
    ViewData["Title"] = "Home Page";
}

<div class="text-center">
    @*<h1 class="display-4">Welcome</h1>
    <p>Learn about <a href="https://docs.microsoft.com/aspnet/core">building Web apps with ASP.NET Core</a>.</p>*@
    <h1>使用Docker部署ASP.NET Core應用程序</h1>
</div>

運行程序,輸出結果如下圖所示:

2、添加Dockerfile文件

由於我們要使用Docker進行部署,所以要添加Dockerfile文件,在項目上右鍵,選擇“添加”,然後選擇“Docker支持”,如圖所示:

我們是在Linux上進行部署,所以目標OS選擇Linux:

Dockerfile文件內容如下:

# 使用運行時鏡像
FROM mcr.microsoft.com/dotnet/aspnet:5.0-buster-slim
# 設置工作目錄
WORKDIR /app
# 把目錄下的內容都複製到當前目錄下
COPY . .
# 暴露80端口
EXPOSE 80
# 設置容器編碼格式
ENV LANG C.UTF-8
# 設置時區,解決容器內時間和宿主機時間不一致問題
RUN /bin/cp /usr/share/zoneinfo/Asia/Shanghai /etc/localtime && echo 'Asia/Shanghai' >/etc/timezone
# 運行鏡像入口命令和可執行文件名稱
ENTRYPOINT ["dotnet", "DockerDemo.dll"]

注意:添加了Dockerfile文件以後,裏面會自動添加一個文件內容,這裏沒有使用默認的Dockerfile文件的內容,Dockerfile文件的內容可以自己修改。

修改Dockerfile文件的屬性,修改爲始終複製:

3、發佈

最後,將應用程序進行發佈,這裏選擇發佈到文件夾:

發佈文件夾目錄可以自定義:

三、部署

將上面步驟發佈後的文件拷貝到遠程的Linux服務器上,然後進行部署。

1、構建鏡像

執行下面的命令,根據Dockerfile文件構建鏡像:

docker build -t dockerdemo .

如圖所示:

注意:最後的“.”不能省略。

默認情況下會找當前目錄下面的Dockerfile文件,我們也可以修改Dockerfile文件的名稱,構建鏡像的時候使用-f參數指定使用哪個Dockerfile文件即可,我們修改Dockerfile文件的名稱:

使用下面的命令構建鏡像:

docker build -t dockerdemotest -f Dockerfile-test .

如圖所示:

2、運行容器

使用下面的命令根據上面步驟構建的鏡像運行容器:

docker run --name=dockerdemo -d -p 5000:80 dockerdemo

如圖所示:

 

這樣就表示容器運行成功了,可以訪問了:

這樣一個簡單的部署就完成了。 

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