![](https://csdnimg.cn/release/download_crawler_static/86029610/bg3.jpg)
内容如下:
#See https://aka.ms/containerfastmode to understand how Visual Studio uses this Dockerfile to
build your images for faster debugging.
#使用“小型”仅运行时基础映像开始一个阶段,将其称为“基础”,以供参考
FROM mcr.microsoft.com//aspnet:6.0 AS base
# 在映像中创建 /app 目录 。
WORKDIR /app
# 公开端口 80 。
EXPOSE 80
#使用“大型”映像开始用于生成/发布的新阶段。将其称为“生成” ,以供参考。
FROM mcr.microsoft.com//sdk:6.0 AS build
#在映像中创建目录 /src 。
WORKDIR /src
#复制引用的 .csproj 项目文件,以便之后能够还原包 。
COPY [“WebApplication1/WebApplication1.csproj”, “WebApplication1/”]
#还原项目和引用项目的包 。
RUN restore “WebApplication1/WebApplication1.csproj”
COPY . .
#将解决方案的所有目录树(.dockerignore 文件中包含的文件/目录除外)复制到映像中的
/src/项目 目录 。
WORKDIR “/src/WebApplication1”
#生成项目(和其他项目依赖项)并输出到映像中的 /app/build 目录 。
RUN build “WebApplication1.csproj” -c Release -o /app/build
#开始一个从“生成”继续的新阶段。将它称为“发布” 以进行引用。
FROM build AS publish
# 发布项目(和依赖项)并输出到映像中的 /app/publish 目录 。
RUN publish “WebApplication1.csproj” -c Release -o /app/publish
# 开始一个从“基础”继续的新阶段,并将其称为“最终”
FROM base AS final
#将当前目录更改为 /app
WORKDIR /app
#将 /app 目录从阶段“发布”复制到当前目录
COPY --from=publish /app/publish .
#定义启动容器时要运行的命令
ENTRYPOINT [“”, “WebApplication1.dll”]
评论0
最新资源