繁体   English   中英

是否可以从Asp.net核心项目中的Visual Studio解决方案文件中隔离Docker容器?

[英]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.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM