[解決済み】エラー "入力デバイスはTTYではありません"
質問
私は、以下のコマンドを自分の
Jenkinsfile
. しかし、次のようなエラーが発生します。
入力デバイスは TTY ではありません。
.
docker run -v $PWD:/foobar -it cloudfoundry/cflinuxfs2 /foobar/script.sh
からスクリプトを実行する方法はありますか?
Jenkinsfile
インタラクティブモードを使わずに?
私は基本的に
script.sh
をDockerコンテナ内で実行したいのですが。
どのように解決するのですか?
を削除します。
-it
をクリックすると、非対話型になり、TTYが削除されます。もし、Jenkinsやcronスクリプトの中でコマンドを実行するなど、どちらも必要ない場合は、このようにしてください。
に変更することもできます。
-i
TTY からでない入力を docker コマンドにパイプで接続している場合。次のようなものがある場合
xyz | docker ...
または
docker ... <input
をコマンドラインに入力すると、次のようになります。
に変更することもできます。
-t
TTYをサポートしたいが、入力デバイスで利用できない場合。TTY をチェックするアプリで、ログの出力をカラーフォーマットできるようにするため、または後で適切なターミナルでコンテナに接続するときのために、この方法を使用します。
また、対話型端末が必要で、LinuxやMacOSの端末で実行していない場合は、別のコマンドラインインターフェイスを使用します。PowerShellは、Windowsでこのサポートを含むことが報告されています。
TTYとは何ですか?エスケープシーケンスやカーソルの移動などをサポートする端末インターフェースで、昔、メインフレームに付属するダム端末に由来するものだそうです。現在では、Linuxのコマンドターミナルやsshのインターフェイスで提供されています。を参照。 詳しくはwikipediaの記事 .
TTY のあるコンテナとないコンテナの実行の違いを見るには、TTY のないコンテナを実行してみてください。
docker run --rm -i ubuntu bash
. そのコンテナの中から、vimをインストールし
apt-get update; apt-get install vim
. プロンプトがないことに注意してください。ファイルに対して vim を実行する場合、ファイル内でカーソルを動かしてみてください。
関連
-
[解決済み] docker cp を使ってホストコンピュータから docker コンテナに rsync する方法
-
[解決済み] 作成前のチェックでエラーになる。「このコンピュータでは、VT-X/AMD-vが有効になっていません。有効になっているのに「BIOSで有効にすることが必須です。
-
[解決済み] Dockerfileの'COPY'と'ADD'コマンドの違いは何ですか?
-
[解決済み] Dockerコンテナの中から、マシンのローカルホストに接続するにはどうすればよいですか?
-
[解決済み] DockerfileのCMDとENTRYPOINTの違いは何ですか?
-
[解決済み] ホストからDockerコンテナのIPアドレスを取得する方法
-
[解決済み] Dockerでイメージのクリーンビルドを強制する方法
-
[解決済み] 既に起動しているDockerコンテナに新しいTTYで入る方法
-
[解決済み] ライブDockerコンテナでポートを公開する
-
[解決済み】Dockerコンテナからホストポートにアクセスする方法
最新
-
nginxです。[emerg] 0.0.0.0:80 への bind() に失敗しました (98: アドレスは既に使用中です)
-
htmlページでギリシャ文字を使うには
-
ピュアhtml+cssでの要素読み込み効果
-
純粋なhtml + cssで五輪を実現するサンプルコード
-
ナビゲーションバー・ドロップダウンメニューのHTML+CSSサンプルコード
-
タイピング効果を実現するピュアhtml+css
-
htmlの選択ボックスのプレースホルダー作成に関する質問
-
html css3 伸縮しない 画像表示効果
-
トップナビゲーションバーメニュー作成用HTML+CSS
-
html+css 実装 サイバーパンク風ボタン
おすすめ
-
[解決済み] 停止したコンテナで画像が使用されている
-
[解決済み】Docker - 0.0.0.0:4000 のバインドに失敗: ポートはすでに割り当てられています。
-
[解決済み】docker: ドライバがエンドポイントウェブサーバの外部接続のプログラミングに失敗しました。
-
ドッカーサーバーがHTTPSクライアントに対してHTTPレスポンスを返す問題処理
-
Http: サーバーが HTTPS クライアントに HTTP 応答を返した 解決策
-
ImportError: libGL.so.1: cannot open shared object file: No such file or directory--docker in-container problem reported as a error.
-
docker 環境に opencv をインストールします ImportError: libGL.so.1: cannot open shared object file: そのようなファイルやディレクトリはありません
-
docker use error: input device is not a TTY
-
接続中にDocker useエラーが発生しました。このエラーは、Docker デーモンが実行されていないことを示す可能性があります。
-
デーモンからのエラー応答: ***のマニフェストが見つかりません: マニフェスト不明: マニフェスト不明