COPIAR . . comando en Dockerfile para ASP.NET

Las herramientas de Visual Studio para Docker crean un Dockerfile para proyectos ASP.NET que contienen unCOPY . . comando de la siguiente manera:

WORKDIR /src
COPY *.sln ./
...
COPY . .

Por lo que he leído, el<src> El parámetro es relativo al contexto, por lo que no se ve afectado por elWORKDIR /src mando. los<dest> sin embargo es relativo a laWORKDIR entonces apuntará a/src.

¿Este comando solo trae los archivos restantes de la raíz para empaquetarlos (docker-compose.yml, .dockerignore, etc.)? Si es así, ¿por qué se hace esto antes deRUN dotnet build... ¿mando?

Dockerfile completo a continuación:

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"]

Respuestas a la pregunta(2)

Su respuesta a la pregunta