現象
dockerのコンテナ内のデータベースにSQLのdumpを投入しようとして
$ docker-compose exec db mysql app_database < dump.sql
the input device is not a TTY
という感じの謎のエラーになった
解決方法
コマンドに-Tオプションをつけるといいらしい。
$ docker-compose exec -T db mysql app_database < dump.sql
コマンドを実行する時にTTYという機能を使っているけども、dockerで気を利かせて既に機能しているので、そのまま実行すると二重にかかってしまうので無効化する必要があるということらしいです。
Docker実践ガイド 第2版 (impress top gear)
IT現場で役立つ、Dockerの導入、運用ノウハウを凝縮。 Dockerが利用される環境や背景を説明し、導入前のシステム設計、Dockerの基本的な利用方法、Dockerfileによる自動化の手法、管理・監視ツールについて、実際に操作をしな...