首页 > 解决方案 > 如何从 docker 映射 .NET 应用程序的更改并重建?

问题描述

我目前正在开发一个NET Application并且我必须运行以下 bash 脚本:

这可以直接从dockerfile?

我现在正在运行的内容:

Bash 脚本

dotnet build  ../${serverSrcFolder} &&
dotnet publish -c Release ../${serverSrcFolder} --output $(pwd)/${serverPublishDestFolder} 

Dockerfile

FROM microsoft/dotnet:2.1-aspnetcore-runtime
WORKDIR /app
COPY . /app
ENTRYPOINT [ "dotnet" , "./publish/Server.dll" ]
EXPOSE 9400
EXPOSE 6379

publish文件夹位于dockerfile.

serverPublishDestFolder上面的脚本bash就是这个publish文件夹。

publish每当文件夹从内部更改时,我可以以某种方式始终映射文件夹dockerfile吗?

标签: dockerbuild.net-corepublish

解决方案


您可以在内部执行上述三个步骤Dockerfile

例如

ROM microsoft/dotnet:2.1.5-aspnetcore-runtime AS base
WORKDIR /app
ENV ASPNETCORE_URLS http://+:5000
EXPOSE 5000

FROM microsoft/dotnet:2.1.403-sdk AS build
WORKDIR /src
COPY src/WebApi/WebApi.csproj src/WebApi/
RUN dotnet restore src/WebApi/WebApi.csproj
COPY . .
WORKDIR /src/src/WebApi
RUN dotnet build WebApi.csproj -c Release -o /app 

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

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

Dockerfile可以通过Visual Studio 2017轻松生成


推荐阅读