Estoy tratando de generar una imagen de Docker sin usar Visual Studio. Estoy en la carpeta del proyecto y ejecuto desde Windows 10 admin command line docker build . No puedo entender cómo hacer que esto funcione.
[+] Building 1.3s (8/9) => [internal] load build definition from Dockerfile 0.0s => => transferring dockerfile: 753B 0.0s => [internal] load .dockerignore 0.0s => => transferring context: 34B 0.0s => [internal] load metadata for mcr.microsoft.com/dotnet/core/aspnet:3.1-buster-slim 0.0s => [base 1/2] FROM mcr.microsoft.com/dotnet/core/aspnet:3.1-buster-slim 0.0s => ERROR FROM docker.io/publish/app:latest 1.2s => => resolve docker.io/publish/app:latest 1.2s => CACHED [base 2/2] WORKDIR /app 0.0s => CACHED [final 1/2] WORKDIR /app 0.0s => [auth] publish/app:pull token for registry-1.docker.io 0.0s ------ > FROM docker.io/publish/app:latest: ------ failed to load cache key: pull access denied, repository does not exist or may require authorization: server message: insufficient_scope: authorization failedEste es mi archivo docker:
#See https://aka.ms/containerfastmode to understand how Visual Studio uses this Dockerfile to build your images for faster debugging. FROM mcr.microsoft.com/dotnet/core/aspnet:3.1-buster-slim AS base WORKDIR /app EXPOSE 80 EXPOSE 443 FROM mcr.microsoft.com/dotnet/core/sdk:3.1-buster AS build WORKDIR /src COPY ["src/App.Web/App.Web.csproj", "src/App.Web/"] RUN dotnet restore "App.Web.csproj" COPY . . WORKDIR "/src/App.Web" RUN dotnet build App.Web.csproj -c Debug -o /app FROM build as debug RUN dotnet publish "App.Web.csproj" -c Debug -o /app FROM base as final WORKDIR /app COPY --from=publish/app /app . ENTRYPOINT ["dotnet","App.Web.dll"]¿Estás conectado? Pruebe con el inicio de docker login y luego ejecute docker build de la ventana acoplable una vez más
Como puedo ver aquí, aspnet en docker hub , se ha cambiado el nombre del repositorio que intenta usar. Utilice lo siguiente en su lugar
from mcr.microsoft.com/dotnet/aspnet:3.1-buster-slimSe ha cambiado el nombre de los repositorios y se puede encontrar un problema similar aquí problema similar
Tiene etapas llamadas base, compilación y depuración. Luego, en la etapa final tienes:
COPY --from=publish/app /app . Cuando la ventana acoplable no puede encontrar el escenario con ese nombre, publish/app , intenta encontrar esa imagen, que no existe. Supongo que desea copiar desde la etapa de compilación, por ejemplo
COPY --from=build /app .