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


版权声明:本文为u011585024原创文章,遵循CC 4.0 BY-SA版权协议,转载请附上原文出处链接和本声明。