リモートサーバで
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
コメント