AS基础和dockerfile中的AS构建有什么区别?

时间:2019-05-01 17:44:55

标签: image docker dockerfile

我想知道“ FROM mcr.microsoft.com/dotnet/core/aspnet:2.1-stretch-slim AS base”和“ FROM mcr.microsoft.com/dotnet/core/sdk:2.1-stretch”之间的区别AS build”。您能解释一下AS基础和AS构建之间的区别吗?

这是Visual Studio生成的默认dockerfile:

FROM mcr.microsoft.com/dotnet/core/aspnet:2.1-stretch-slim AS base
WORKDIR /app
EXPOSE 80
EXPOSE 443

FROM mcr.microsoft.com/dotnet/core/sdk:2.1-stretch AS build
WORKDIR /src
COPY ["WebApplication1/WebApplication1.csproj", "WebApplication1/"]
RUN dotnet restore "WebApplication1/WebApplication1.csproj"
COPY . .
WORKDIR "/src/WebApplication1"
RUN dotnet build "WebApplication1.csproj" -c Release -o /app

FROM build AS publish
RUN dotnet publish "WebApplication1.csproj" -c Release -o /app

FROM base AS final
WORKDIR /app
COPY --from=publish /app .
ENTRYPOINT ["dotnet", "WebApplication1.dll"]

1 个答案:

答案 0 :(得分:0)

没有功能上的区别,它只是构建阶段的名称。此阶段在dockerfile中构建的映像(该阶段以<activity android:name=".YourActivity" android:theme="@style/Theme.AppCompat.Light.NoActionBar.FullScreen" /> 关键字开始,在下一个FORM之前终止)可以稍后使用该名称访问。

  

通过在FROM指令中添加AS名称,可以为新的构建阶段指定名称。该名称可以在后续的FROM和COPY --from =指令中使用,以引用此阶段中构建的映像。   -https://docs.docker.com/engine/reference/builder/#from

例如,名称FORMfoo

bar

它是在17.05中为多阶段构建添加的,更多内容为:https://docs.docker.com/develop/develop-images/multistage-build/

相关问题