SSH 経由 で docker run 等する歳、ssh docker run the input device is not a TTY が出たら -t オプションをつける

DockerLinux
2022-06-12 02:55 (3 years ago)
SSH 経由 で docker run 等する歳、ssh docker run the input device is not a TTY が出たら -t オプションをつける

リモートサーバで

docker run --rm -it <image-name> /bin/sh

といった形で、TTY を使った対話式のプログラムを起動したい時。

ssh <user>@<remote-server>

した後に、接続先のリモートシェルが起動し、その中で

docker run --rm -it <image-name> /bin/sh

した時は問題無く docker 上で TTYを使うプログラムが使える。

ただし、ローカル(mac 等) から

ssh <user>@<remote-server> -- docker run --rm -it <image-name> /bin/sh

といった形で、一発で SSH と docker run をしようとすると、

ssh docker run the input device is not a TTY

というエラーが出て起動できない。

その場合、ssh-t オプションをつければ良い。

ssh -t <user>@<remote-server> -- docker run --rm -it <image-name> /bin/sh

これでOK

評価をお願いします
まだ評価がありません
著者は、アプリケーション開発会社 Cyberneura を運営しています。
開発相談をお待ちしています。

アーカイブ