Primero, instalé AWS-CLI y ya usé "AWS configure" para configurar mi clave secreta y también usé el comando "Docker login" para iniciar sesión y tuve éxito y cuando escribí Get-ECRLoginCommand. Funciona y me devuelve el resultado.
Pero cuando trato de usar el comando:
(Get-ECRLoginCommand).Password | docker login --username AWS --password-stdin 837859123533.dkr.ecr.ap-east-1.amazonaws.com/spring-bootRecibí un error que se ve así:
Error al guardar las credenciales: error al almacenar las credenciales - err: salir del estado 1, out:
error storing credentials - err: exit status 1, out:el código auxiliar recibió datos incorrectos.``
Editar: vea también la solución de Ethan Davis:
Descubrí que eliminar C:\Program Files\Docker\Docker\resources\bin\docker-credential-desktop.exe y C:\Program Files\Docker\Docker\resources\bin\docker-credential-wincred.exe funcionó para mí . — Ethan Davis 29 sep.
Original: la solución vinculada por el comentario de Joelster funcionó para mí.
Una solución rápida es modificar el archivo .docker\config.json. Elimine la siguiente línea para que la ventana acoplable use el sistema de archivos para almacenar tokens:
"credsStore": "wincred"
Abrí el archivo c:\Users\sashoalm\.docker\config.json y eliminé la clave "credsStore". Después de eso esto funcionó:
type pass.txt | docker login -u AWS --password-stdin https://123123.dkr.ecr.us-west-1.amazonaws.comY la salida fue esta:
WARNING! Your password will be stored unencrypted in C:\Users\sashoalm\.docker\config.json. Configure a credential helper to remove this warning. See https://docs.docker.com/engine/reference/commandline/login/#credentials-store Login SucceededA la fecha de hoy, este problema aún persiste. A continuación se muestran las cosas que descubrí:
1.) Este problema aparece al usar SSO para la autenticación. Estoy usando Azure SSO para AWS. ( https://www.npmjs.com/package/aws-azure-login )
2.) El motivo es: el token devuelto por los SSO es lo suficientemente largo (más de 2550 caracteres), mientras que el administrador de credenciales de Windows no admite tokens tan largos.
3.) Si usa el asistente de credenciales ECR ( https://github.com/awslabs/amazon-ecr-credential-helper ), lamentablemente tampoco parece funcionar con SSO: https://github.com/awslabs/ amazon-ecr-credential-helper/problemas/229
Sin embargo, seguí estos pasos como solución y estoy en Windows-
1.) Elimine o cambie el nombre del archivo "docker-credential-wincred.exe" ubicado en el directorio "C:\Program Files\Docker\Docker\resources\bin" .
2.) Elimine las "credStore" y "credsStore" de la configuración de Docker ( C:\Users\PROFILE_NAME\.docker\config.json ).
Recibo la siguiente respuesta-
WARNING! Your password will be stored unencrypted in C:\Users\sandeep.kumar\.docker\config.json. Configure a credential helper to remove this warning. See https://docs.docker.com/engine/reference/commandline/login/#credentials-store Login SucceededComo mencionó @Ethan Davis, eliminar los siguientes archivos me ayudó:
C:\Program Files\Docker\Docker\resources\bin\docker-credential-desktop.exeC:\Program Files\Docker\Docker\resources\bin\docker-credential-wincred.exe