ASP.Net Core Angular項目使用Docker進行容器化部署(1)-- 發佈文件容器化

ASP.Net Core Angular項目使用Docker進行容器化部署(1)-- 發佈文件容器化

一、介紹

本文將介紹如何將ASP.Net Core Angular項目通過Docker進行容器化部署,主要的方式是將發佈的文件進行容器化部署

二、環境

  • Window 10
  • Visual Studio 2019
  • Angular cli 9.1.3
  • Docker

三、部署

1、安裝

下載Docker desktop並安裝

1、發佈

將項目發佈到項目的/bin/Release/netcoreapp3.1/publish目錄,具體操作可參考ASP.Net Core程序發佈一文

2、創建Dockerfile

在項目文件上右鍵,選擇【添加】–【Docker支持…】
Docker支持
在彈出的Docker文件選項選擇框中選擇【Linux】選項,然後點擊【確定】即可
Docker文件選項

3、修改Dockerfile文件

新增的Dockerfile文件內容如下:

FROM mcr.microsoft.com/dotnet/core/aspnet:3.1-buster-slim AS base
WORKDIR /app
EXPOSE 80

FROM mcr.microsoft.com/dotnet/core/sdk:3.1-buster AS build
WORKDIR /src
COPY ["AngularDemo03/AngularDemo03.csproj", "AngularDemo03/"]
RUN dotnet restore "AngularDemo03/AngularDemo03.csproj"
COPY . .
WORKDIR "/src/AngularDemo03"
RUN dotnet build "AngularDemo03.csproj" -c Release -o /app/build

FROM build AS publish
RUN dotnet publish "AngularDemo03.csproj" -c Release -o /app/publish

FROM base AS final
WORKDIR /app
COPY --from=publish /app/publish .
ENTRYPOINT ["dotnet", "AngularDemo03.dll"]

將上述內容替換爲如下內容:

# 基礎鏡像
FROM mcr.microsoft.com/dotnet/core/aspnet:3.1-buster-slim AS base
# 工作目錄
WORKDIR /app
# Docker暴露的端口
EXPOSE 80
# 將步驟1中發佈後的文件拷貝到工作目錄下
COPY ./bin/Release/netcoreapp3.1/publish .
# 運行項目
ENTRYPOINT ["dotnet", "AngularDemo03.dll"]

4、生成鏡像

打開項目所在的目錄,當前目錄中需包含Dockerfile文件,然後在地址欄中輸入CMD並回車,打開CMD控制檯
cmd
在CMD控制檯上輸入以下命令生成Docker鏡像

docker build -t aspnetcore:v1.0 .

生成Docker鏡像

5、查看鏡像

生成成功後,可以使用以下命令查看鏡像

docker images

Docker鏡像

6、使用鏡像運行容器

可以通過以下命令運行一個容器

docker run -it -d -P aspnetcore:v1.0

運行容器
運行成功後可通過docker ps查看對應的端口,然後在瀏覽器訪問這個端口即可

訪問端口
當然,也可以通過-p命令指定端口,然後通過指定的端口訪問即可

docker -it -d -p 5002:80 aspnetcore:v1.0
93059)]
當然,也可以通過`-p`命令指定端口,然後通過指定的端口訪問即可

docker -it -d -p 5002:80 aspnetcore:v1.0

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