SSHコマンドを使用して「docker exec」を実行する方法

SSHコマンドを使用して「docker exec」を実行する方法

面白いことはありません -

#!/usr/bin/env bash

ssh -i 'my.pem' "ubuntu@${addr}" "docker exec -ti '$name' bash"

このような不都合なエラーが発生します。

the input device is not a TTY

まったく文脈がありません。 dockerはコンピュータでうまく動作します。これを期待どおりに実行するにはどうすればよいかを知っていますか?

私もこれを試しましたが、同じエラーが発生しました。

 ssh -i 'my.pem' "ubuntu@${hb_ip_addr}" "bash -c 'docker exec -ti '$name' bash'"

悪い。

答え1

答えは次のとおりです。 https://stackoverflow.com/a/47025876/1223975

つまり、次のものが必要です。

ssh -tti

はい、2つの「t」パラメータがあります。

本当に悪夢のようなユーティリティです。

今これはzsh私のbashv5macOSコンピュータで動作します。

 ssh -tti 'my.pem' "ubuntu@${addr}" "docker exec -ti $name bash"

関連情報