Tengo problemas para entender este error cuando intento construir un proyecto en Docker:
> [internal] load metadata for docker.io/library/openjdk:11: ------ failed to solve with frontend dockerfile.v0: failed to create LLB definition: failed to authorize: rpc error: code = Unknown desc = failed to fetch oauth token: unexpected status: 401 Unauthorized'¿Qué significa exactamente este error? ¿Me faltan permisos?
Como referencia, así es como se ve mi Dockerfile:
### base jdk image ### FROM openjdk:11 as setup ENV USER sc_user ENV HOME /home/$USER ENV REPO $HOME/sc RUN useradd -u 9999 $USER COPY --chown=$USER build.gradle gradlew $REPO/ COPY --chown=$USER gradle $REPO/gradle USER $USER WORKDIR $REPO RUN ./gradlew FROM setup as tdd ENTRYPOINT ["./gradlew", "-t", "test"] FROM setup as debug-tdd ENTRYPOINT ["./gradlew", "-t", "test", "-PjvmArgs=-agentlib:jdwp=transport=dt_socket,server=y,suspend=y,address=*:5005"] ### build jar ### FROM setup as build COPY --chown=$USER src $REPO/src RUN ./gradlew clean test build generatePomFileForMavenJavaPublicationMi caso:
Uso de Docker en Windows 10 con Linux WSL2.
Acabo de docker logout en Docker y funcionó. Recuerdo que en algún momento atrás había hecho el inicio de sesión de la ventana acoplable. Por lo tanto, incluso para las imágenes públicas, la ventana acoplable estaba forzando la autenticación. La única salida era volver a iniciar sesión o cerrar sesión en la ventana acoplable. Hice el cierre de sesión de Docker y funcionó.
Para mí en Windows, simplemente reinicie la ventana acoplable, funcionará.
Para Windows, primero debe iniciar sesión en Docker Desktop y luego solo funcionará.
Al usar Docker Desktop en * MAC , tuve que cerrar sesión y volver a iniciar sesión y funcionó.
Si enfrenta este problema después de que la suscripción cambie a Docker el 31 de agosto de 2021, significa que debe iniciar sesión en Docker Hub para realizar las operaciones.
Use el inicio de sesión de la ventana acoplable desde la aplicación de escritorio de la ventana acoplable o use el comando de inicio de sesión de la ventana acoplable desde la terminal.
Si no ha creado una cuenta de docker antes, puede registrarse para obtener un plan personal (gratuito) aquí: https://hub.docker.com/ o usar la cuenta de docker que le ha proporcionado su organización (si tiene una) .
Los cambios en la suscripción se mencionaron aquí: https://docs.docker.com/subscription/
También me enfrenté a este problema después de actualizar a una nueva versión en mi mac. Sin embargo, he resuelto el problema después de iniciar sesión desde la terminal.
Los comandos eran:
docker loginDespués de eso, proporcioné el nombre de usuario y la contraseña de docker. El problema fue solucionado.
primero, cierre la sesión si ha iniciado sesión y vuelva a iniciar sesión: $ docker logout $ docker login proporcione sus credenciales.
Si está trabajando en algún tipo de artefacto docker o dentro de la organización, $ docker login #link_of_the_artifactory_here
Mi caso:
Uso de Docker en Windows 10 con Linux WSL2.
La imagen era para ubuntu:focal.
Tuve que ir a la sección Solucionar problemas del escritorio de la ventana acoplable y usar la opción "Limpiar / Purgar datos" . Anteriormente probé el "Restablecer a los valores predeterminados de fábrica" , que me dio una línea adicional en el error pero no lo solucionó. Así que tal vez ambos son necesarios.
Luego reinicié Docker y 'Voilà'
Parece que tiene habilitado el kit de compilación en la configuración de la ventana acoplable. Buildkit aún no es estable y puede causar este tipo de problemas. Vuelva a intentarlo con el kit de compilación deshabilitado.
En Linux, usando variables de entorno:
export DOCKER_BUILDKIT=0 export COMPOSE_DOCKER_CLI_BUILD=0En Windows y macOS, inicie la aplicación Docker Desktop, vaya a Configuración , seleccione Docker Engine y busque la entrada existente:
"buildkit": trueCambie esta entrada para deshabilitar el kit de compilación:
"buildkit": falseLuego haga clic en Aplicar y reiniciar y vuelva a intentarlo.