[解決済み】擬似TTYを割り当てるDockerの-tオプションに戸惑う
2022-03-27 13:28:33
質問
このオプションは具体的に何をするのですか?TTYについていろいろ読んできましたが、まだ混乱しています。私は
-t
で、ただ
-i
がないと、ユーザー入力を期待するプログラムはエラーを投げるようです。
-t
. なぜ疑似TTYが有効であることが重要なのでしょうか?
どのように解決するのですか?
その
-t
オプションは、Unix/Linuxがターミナルアクセスをどのように扱うかに関係します。以前は、ターミナルはハードライン接続で、後にモデムベースの接続になりました。これらは物理的なデバイスドライバを持っていました(実際の機器の一部でした)。一般的なネットワークが使われるようになると、擬似的なターミナルドライバが開発されました。これは、プログラムに直接記述しなくても、どのような端末機能が使えるかを理解するための分離を行うためです(Read man pages on the
stty
,
curses
).
で、それを背景にして、コンテナをオプションなしで実行すると、デフォルトで標準出力ストリーム(だから
docker run | <cmd>
が動作します)。
-i
で、stdin ストリームが追加されます(だから
<cmd> | docker run -i
が動作します)。
-t
通常、この組み合わせで
-it
ターミナルドライバが追加され、プロセスと対話する場合は、おそらくこれが必要です。これは基本的に、コンテナの起動をターミナル接続セッションのように見せかけるものです。
関連
-
[解決済み] docker-compose: バインドマウントとマネージドマウントのマウントを定義する
-
[解決済み] dockerでビルド中に環境変数を設定する方法
-
[解決済み] Docker: ドッカープッシュのための認証方法は?
-
[解決済み] docker ENTRYPOINTで複数のコマンドを実行する
-
[解決済み] 既に起動しているDockerコンテナに新しいTTYで入る方法
-
[解決済み】Dockerでnamedタグとlatestタグを作成する方法とは?
-
[解決済み】Dockerコンテナでボリュームをリストアップする方法は?
-
[解決済み】Dockerにボリュームを追加しても、サブフォルダを除外してしまう。
-
[解決済み】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デーモンが動作していない
-
[解決済み] Dockerfileの'COPY'と'ADD'コマンドの違いは何ですか?
-
[解決済み] Dockerfileで画像にタグを付けるには?重複
-
[解決済み] dockerでprivate 1.0のレジストリからイメージを検索するには?[クローズド]
-
[解決済み】Dockerイメージとコンテナの違いは何ですか?
-
[解決済み】Dockerコンテナからホストポートにアクセスする方法
-
[解決済み】"docker run -d "の後、Dockerコンテナが自動的に停止する。
-
[解決済み】Dockerがlxc-tools(ユーザースペースのLXCツール)に追加するものは何ですか?)
-
[解決済み】docker: 実行可能ファイルが$PATHに見つからない
-
[解決済み】Dockerにボリュームを追加しても、サブフォルダを除外してしまう。