【问题标题】:What does out in dotnet publish mean?dotnet publish 中的 out 是什么意思?
【发布时间】:2021-09-20 15:44:46
【问题描述】:

在这篇文章中,我找到了一种加速 docker build 命令的方法

https://www.softwaredeveloper.blog/optimize-building-net-core-docker-image

此命令缓存 nuget 依赖项

RUN dotnet publish -c Release -o out

我只是不明白 out 是什么意思,它应该是一条路径,但是运行这样的命令失败了,因为

COPY --from=publish out .

不起作用。如何在我的 docker 文件中使用它?

【问题讨论】:

    标签: .net docker output dotnet-publish


    【解决方案1】:

    这确实意味着它将构建的项目发布到out 目录。但它与当前工作目录相关,这可能是导致您的问题的原因。

    如果你使用这个 Dockerfile,那么我们首先创建一个/app 目录。所以当我们发布到out时,完整路径是/app/out

    所以当我们构建运行时镜像时,我们可以从构建镜像中的/app/out 复制并放在其他地方。这里我把它放在/app

    FROM mcr.microsoft.com/dotnet/sdk:5.0 as build
    WORKDIR /app
    RUN dotnet new webapp
    RUN dotnet restore
    RUN dotnet publish -c Release -o out
    
    FROM mcr.microsoft.com/dotnet/aspnet:5.0 as runtime
    WORKDIR /app
    COPY --from=build /app/out .
    ENTRYPOINT ["dotnet", "/app/app.dll"]
    

    【讨论】:

      猜你喜欢
      • 2021-08-03
      • 1970-01-01
      • 1970-01-01
      • 2012-11-27
      • 2011-07-26
      • 2010-09-12
      • 2017-08-28
      • 2021-02-21
      • 2017-04-29
      相关资源
      最近更新 更多