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

Posted by: ytyng 2 months 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

Currently unrated

Comments

Archive

2022
2021
2020
2019
2018
2017
2016
2015
2014
2013
2012
2011