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

リモートサーバで
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 を運営しています。
開発相談をお待ちしています。
開発相談をお待ちしています。