Business
Jobs
  • About Us
  • Solutions
    • Job Postings
      Post your job and receive qualified candidates in 48h.
    • Candidate Assessments
      500+ technical and psychological tests, plus anti-fraud.
    • Headhunting
      Tailor-made executive search from start to finish.
    • Payroll + EOR
      Payroll dispersal and EOR across 15+ LATAM countries.
  • Pricing
  • Jobs

0

254
Views
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 answers
Answer question

0

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

over 4 years ago · Santiago Trujillo Report

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 Report

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 Report

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 Report

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 Report

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 Report

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 Report

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 Report

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 Report

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 Report

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 Report

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 Report
Answer question
Find remote jobs

Discover the new way to find a job!

Top jobs
Top job categories
Business
Post vacancy Pricing Sales
Legal
Terms and conditions Privacy policy
© 2026 PeakU Inc. All Rights Reserved.
Andres GPT
Show me some job opportunities
There's an error!