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