docker-composeでthe input device is not a TTYと言われた時の対策

docker-compose  exec app hoge.py < input.txt

で出力を流し込もうとするとTTYが無いよと言われることがある。これはTTYが割り当てられているからであり、下記のようにして無効化するといいみたい。

docker-compose  exec -T app hoge.py < input.txt

-T オプションは

Disable pseudo-tty allocation. By default docker-compose exec allocates a TTY.

TTYを無効にするもの。通常デフォルトの挙動はTTYを割り当ててるらしいが、それが返って邪魔をしているのかなあ。

コメントを残す

メールアドレスが公開されることはありません。 * が付いている欄は必須項目です

CAPTCHA