CÓPIA DE . . comando no Dockerfile for ASP.NET
As ferramentas do Visual Studio para Docker criam um Dockerfile para projetos ASP.NET contendo umCOPY . .
comando como abaixo:
WORKDIR /src
COPY *.sln ./
...
COPY . .
Pelo que li, o<src>
parâmetro é relativo ao contexto, portanto, não é afetado peloWORKDIR /src
comando. o<dest>
no entanto, é relativo aoWORKDIR
então estará apontando para/src
.
Esse comando está apenas trazendo os arquivos restantes da raiz para o empacotamento (docker-compose.yml, .dockerignore etc.)? Se sim, então por que isso é feito antes doRUN dotnet build...
comando?
Arquivo completo do Docker abaixo:
FROM microsoft/aspnetcore:2.0 AS base
WORKDIR /app
EXPOSE 80
FROM microsoft/aspnetcore-build:2.0 AS build
WORKDIR /src
COPY *.sln ./
COPY MyProject/MyProject.csproj MyProject/
RUN dotnet restore
COPY . . # The line mentioned above
WORKDIR /src/MyProject
RUN dotnet build -c Release -o /app
FROM build AS publish
RUN dotnet publish -c Release -o /app
FROM base AS final
WORKDIR /app
COPY --from=publish /app .
ENTRYPOINT ["dotnet", "MyProject.dll"]