[英]How to run an ASP.NET Core 3.1 project in a Docker container with Visual Studio 2019?
[英]Is it possible to isolate Docker container from Visual Studio solution files in an Asp.net core project?
我使用VS2017創建了一個Asp.net Core項目,並選擇了激活Docker調試。
在此應用程序中,我想在_env.ContentRootPath或_env.WebRootPath中創建一些文件(我不知道哪個更好)。
當我這樣做時,該文件已在Docker容器上正確創建,但它也出現在我的主機存儲中,並因此出現在VS解決方案樹中。 看來容器文件夾已映射到我的主機解決方案文件夾。
容器不應該與我的主機隔離嗎? 有辦法避免這種行為嗎?
這是Dockerfile的內容:
FROM microsoft/dotnet:2.1-aspnetcore-runtime AS base
WORKDIR /app
EXPOSE 53665
EXPOSE 44371
FROM microsoft/dotnet:2.1-sdk AS build
WORKDIR /src
COPY MyProject/MyProject.csproj MyProject/
RUN dotnet restore MyProject/MyProject.csproj
COPY . .
WORKDIR /src/MyProject
RUN dotnet build MyProject.csproj -c Release -o /app
FROM build AS publish
RUN dotnet publish MyProject.csproj -c Release -o /app
FROM base AS final
WORKDIR /app
COPY --from=publish /app .
ENTRYPOINT ["dotnet", "MyProject.dll"]
閱讀Debug Docker文檔,因為這是設計好的行為:
dev映像缺少應用程序內容,因為Debug配置使用卷掛載來提供迭代體驗。 要推送圖像,請使用Release配置。
唯一的方法是在發布模式下運行,因為這將創建一個新的Docker映像。
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.