![](/img/trans.png)
[英]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.