エラー:TTY以外のデバイスで対話型ログインを実行できません。

エラー:TTY以外のデバイスで対話型ログインを実行できません。

私はMobaxtermを使用しており、ローカルbash端末を起動してこのコマンドを試しました。ところで、エラーが表示されます。 cmd windowsプロンプトまたはpowershellで同じコマンドを実行できます。解決策の提案をいただきありがとうございます。 mobaxtermに既にある設定のいくつかを使用しましたが、そのうち何も機能しませんでした。

/home/mobaxterm>docker login abcdef.azurecr.io
Error: Cannot perform an interactive login from a non TTY device

答え1

winptyコマンドの前に追加してみてくださいdocker ...

WindowsでTTYを有効にします。 GitBash、Putty、MobaXTermで動作します。

$ winpty docker login $ACR_REGISTRY
Username: appacr
Password:
Login Succeeded

答え2

ドッカーエラーです。各Repoは独自の環境変数を設定する必要があります。リポジトリ設定でモデルにDOCKER_USERNAMEとDOCKER_PASSWORDを設定しないと、混乱しているドッカー端末(tty)エラーが発生します。

答え3

--password-stdin指定されたフラグの使用文書

aws ecr get-login-password | docker login --username AWS --password-stdin aws_account_id.dkr.ecr.region.amazonaws.com

答え4

aws ecr提供されている例のように、ステートメントに地域を指定してみてください。ここ:

aws ecr get-login-password --region region | docker login --username AWS --password-stdin aws_account_id.dkr.ecr.region.amazonaws.com

この方法でエラーを解決しようとしたときに、AWSがロケール変数を定義する方法に難しいという事実もわかりました(そして英語を話さないユーザーの正当なエラーを喜んで受け入れません)。たとえば、us-west-2呼び出しセクションではこれで十分ですが、コマンドセクションではさらに指定する必要があります。--password-stdin aws_account_id.dkr.ecr.region.amazonaws.comus-west-2baws ecr get-login-password --region region

役に立ったことを願っています!

関連情報