Error de autenticación ECR en docker

Error saving credentials: error storing credentials - err: exit status 1, out: `The stub received bad data.`

Uno de los posibles errores que suceden a la hora de autenticación AWS ECR en docker en windows.

Error saving credentials: error storing credentials - err: exit status 1, out: `The stub received bad data.`

Hemos identificado que el error es producto que el archivo .docker\config.json , tiene una estructura mal, copia y remplaza el archivo config.json.

{
    "auths": {
        "FormatSlave": {}
    },
    "HttpHeaders": {
        "User-Agent": "Docker-Client/19.03.13 (windows)"
    }
}

Todas las contraseña de acceso a las cuentas se guardan en auths, FormatSlave solo lo tenemos como utilitario para que el binario pueda guardar las credenciales correctamente, salvamos el archivo config.json. y probamos que podríamos autenticar nos.

aws ecr get-login-password --region us-west-2 | docker login --username AWS --password-stdin 123456789.dkr.ecr.us-west-2.amazonaws.com
aws ecr get-login-password --region us-west-2 | docker login --username AWS --password-stdin 123456789.dkr.ecr.us-west-2.amazonaws.com
WARNING! Your password will be stored unencrypted in C:\Users\USER\.docker\config.json.
Configure a credential helper to remove this warning. See
https://docs.docker.com/engine/reference/commandline/login/#credentials-store

 

Login Succeeded

Happy code.

Si estas en windows creo que es importante que instales AWS Tools for PowerShell on Windows

Installing the AWS Tools for PowerShell on Windows - AWS Tools for PowerShell
A Windows-based computer can run any of the AWS Tools for PowerShell package options: