.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

浙公网安备 33010602011771号