.Net Core 的项目部署Docker

说明下:部署的方法有很多种这只是其中的一种,不要乱喷~~~
 不知道说啥 直接上图
项目结构:

 

 文件目录结构:项目dockerfile文件是在项目根目录的

 

 

项目说明 :WebApplication1 是有引用类库ClassLrary1 ,WebApplication2没有任何引用

把项目部署在docker上面的时候,把源码拉到linux文件目录中

 

 linux进入到当前项目的根目录

 

 构造镜像

docker build --build-arg PROJECT_NAME="WebApplication1" -t testapp1 . 

docker build --build-arg PROJECT_NAME="WebApplication2" -t testapp2 .

运行容器

docker run --name testApp1 -p 8082:80 -d testapp1

docker run --name testApp2 -p 8082:80 -d testapp2 

 

以下是dockerfile文件内容

 1 FROM mcr.microsoft.com/dotnet/aspnet:5.0-buster-slim AS base
 2 WORKDIR /app
 3 EXPOSE 80
 4 
 5 FROM mcr.microsoft.com/dotnet/sdk:5.0-buster-slim AS build
 6 ARG PROJECT_NAME
 7 WORKDIR /src
 8 COPY . .
 9 RUN dotnet restore
10 WORKDIR "/src/${PROJECT_NAME}"
11 RUN dotnet build "${PROJECT_NAME}.csproj" -c Release -o /app/build
12 
13 FROM build AS publish
14 ARG PROJECT_NAME
15 RUN dotnet publish "${PROJECT_NAME}.csproj" -c Release -o /app/publish
16 
17 FROM base AS final
18 ARG PROJECT_NAME
19 ENV PROJECT_NAME=$PROJECT_NAME
20 WORKDIR /app
21 COPY --from=publish /app/publish .
22 #ENTRYPOINT ["dotnet", "${PROJECT_NAME:.dll}"]
23 CMD dotnet ${PROJECT_NAME}.dll

 

 

 

 

posted @ 2021-02-20 14:38  雨末君.℡°  阅读(177)  评论(0)    收藏  举报