Empresas
Empleos
  • Sobre nosotros
  • Soluciones
    • Publicación de vacantes
      Publica tu vacante y recibe candidatos calificados en 48h.
    • Evaluación de candidatos
      500+ pruebas técnicas y psicológicas, más anti-fraude.
    • Headhunting
      Búsqueda ejecutiva a la medida de principio a fin.
    • Nómina + EOR
      Dispersión de nómina y EOR en más de 15 países de LATAM.
  • Precios
  • Empleos

0

1.5K
Vistas
aws ecr dice "No se puede realizar un inicio de sesión interactivo desde un dispositivo que no sea TTY" después de copiar el cmd de "Amazon Container Services"

Estoy tratando de configurar la imagen de la ventana acoplable de Amazon ECR en la máquina ubuntu18.04 de AWS, utilizando los comandos proporcionados por los comandos view push commands de Amazon Container Services ver los comandos push de los servicios de contenedores de Amazon

, tenga en cuenta que ya configuré docker en mi ubuntu18.04 y también la salida de docker -v es la siguiente

 ubuntu@ip-172-31-0-143:~$ docker -v Docker version 19.03.7, build 7141c199a2

Cuando ejecuto el comando proporcionado por Amazon Container Services en aws cli en ubuntu18.04, aparece el error Error: No se puede realizar un inicio de sesión interactivo desde un dispositivo que no es TTY

El comando que estoy usando es

 aws ecr get-login-password --region us-west-2 | docker login --username AWS --password-stdin 8233251134332.dkr.ecr.us-east-2.amazonaws.com/gatling-lots

tenga en cuenta que configuré correctamente awscli y puedo ver los detalles de aws s3 ls

Aquí está el registro de errores detallado

 ubuntu@ip-172-31-0-143:~$ aws ecr get-login-password --region us- east-2 | docker login --username AWS --password-stdin 823443336.dkr.ecr.us-west-2.amazonaws.com/gatling-lots usage: aws [options] <command> <subcommand> [<subcommand> ...] [parameters] To see help text, you can run: aws help aws <command> help aws <command> <subcommand> help aws: error: argument operation: Invalid choice, valid choices are: batch-check-layer-availability | batch-delete-image batch-get-image | complete-layer-upload create-repository | delete-lifecycle-policy delete-repository | delete-repository-policy describe-images | describe-repositories get-authorization-token | get-download-url-for-layer get-lifecycle-policy | get-lifecycle-policy-preview get-repository-policy | initiate-layer-upload list-images | put-image put-lifecycle-policy | set-repository-policy start-lifecycle-policy-preview | upload-layer-part get-login | help Error: Cannot perform an interactive login from a non TTY device

salida de

 ubuntu@ip-172-31-0-143:~$ (aws ecr get-login --no-include-email --region us-east-2) docker login -u AWS -p MzQxL2c0Yks4RjVxeDg9IiwidmVyc2lvbiI6IjIiLCJ0eXBlIjoiREFUQV9LRVkiLCJleHBpcmF0aW9uIjoxNTgzNjgzNDY5fQ== https://825251119036.dkr.ecr.us- east-2.amazonaws.com
over 4 years ago · Santiago Trujillo
12 Respuestas
Responde la pregunta

0

Debe instalar AWS CLI versión 2. Siga las instrucciones en este enlace

over 4 years ago · Santiago Trujillo Denunciar

0

El problema no es aws sino docker. La solución está en la ventana acoplable para usar el parámetro -p y ajustar la llamada de inicio de sesión de aws al parámetro -p como tal:

 docker login -u AWS -p $(aws ecr get-login-password --region the-region-you-are-in) xxxxxxxxx.dkr.ecr.the-region-you-are-in.amazonaws.com

Y esto requiere AWS CLI versión 2.

over 4 years ago · Santiago Trujillo Denunciar

0

Los pasos a continuación son para resolver ese problema.

 $curl "https://awscli.amazonaws.com/awscli-exe-linux-x86_64.zip" -o "awscliv2.zip" unzip awscliv2.zip sudo ./aws/install $aws --version aws-cli/2.0.30 Python/3.7.3 Linux/4.14.181-142.260.amzn2.x86_64 botocore/2.0.0dev34 $aws ecr get-login-password --region your_region | docker login --username AWS --password-stdin Account_ID.dkr.ecr.your_region.amazonaws.com

Reemplace su Account ID y Region .

over 4 years ago · Santiago Trujillo Denunciar

0

Este comando hace el truco en bash y Linux el 2020/10/06:

linux@host:~$ $(aws ecr get-login --no-include-email)

Eso es porque

$ aws ecr get-login --no-include-email

Da la siguiente salida:

docker login -u AWS -p xxxxxxxxxxxxx== https://xxx.dkr.ecr.eu-west-1.amazonaws.com

over 4 years ago · Santiago Trujillo Denunciar

0

La respuesta de Devin es correcta.

Pero hay una forma más. La versión actualizada de docker requiere este parámetro --password-stdin .

 aws ecr get-login-password --region <YOUR_REGION> | docker login --username AWS --password-stdin <ACCOUNT_ID>.dkr.ecr.<REGION>.amazonaws.com
over 4 years ago · Santiago Trujillo Denunciar

0

me tomó una eternidad darme cuenta de que el problema era que olvidé ejecutar aws configure e ingresar los detalles correctos. Eso resolvió mi problema.

over 4 years ago · Santiago Trujillo Denunciar

0

Recuerde también que no puede iniciar sesión en regiones particionadas ( cn-* o gov ) mientras utiliza un perfil de AWS no particionado. Agregue --profile foo para especificar un perfil con su región designada.

over 4 years ago · Santiago Trujillo Denunciar

0

El inicio de docker login imprime este mensaje de error cuando usa --password-stdin , pero en realidad no envía una contraseña a la entrada estándar del comando.

Por ejemplo:

 $ echo "" | docker login --password-stdin --username jorendorff Error: Cannot perform an interactive login from a non TTY device

Por lo tanto, casi cualquier tipo de problema con el comando antes del | El símbolo de tubería dará como resultado este mensaje de error inútil.

over 4 years ago · Santiago Trujillo Denunciar

0

En mi caso, olvidé agregar la política relacionada con ECR en mi IAM de AWS. Para agregar una política, siga estos pasos .

over 4 years ago · Santiago Trujillo Denunciar

0

El problema que encontré es AWS CLI v1 vs AWS CLI v2. Resolví esto desinstalando v1 e instalando AWS CLI v2.

over 4 years ago · Santiago Trujillo Denunciar

0

No te preocupes en este caso. Simplemente escriba 'aws configure' en su terminal y pegue las credenciales de seguridad como 'aws_access_key_id' y 'aws_secret_access_key' y luego escriba la región del repositorio y el formato de salida como 'json'.

Funcionó para mí.

over 4 years ago · Santiago Trujillo Denunciar

0

Sé que esta pregunta ya está respondida, pero esta fue mi experiencia.

Esto no funcionó para mí inicialmente.

aws ecr get-login-password --region <your-region>| docker login --username AWS --password-stdin <your-container>

Tenía AWS_ACCESS_KEY_ID y AWS_SECRET_ACCESS_KEY guardados en variables en GitLab.

Pero la solución fue desmarcar la bandera Protected de las variables guardadas en GitLab. No sé qué tan seguro es este enfoque, pero funcionó para mí.

Espero que esto ayude a alguien algún día.

over 4 years ago · Santiago Trujillo Denunciar
Responde la pregunta
Encuentra empleos remotos

¡Descubre la nueva forma de encontrar empleo!

Top de empleos
Top categorías de empleo
Empresas
Publicar vacante Precios Comercial
Legal
Términos y condiciones Política de privacidad
© 2026 PeakU Inc. All Rights Reserved.
Andres GPT
Recomiéndame algunas ofertas
Necesito ayuda