[解決済み] docker attach と docker exec の違い
質問
どちらもコンテナ内でコマンドを実行することができます。 どちらもコンテナをデタッチすることができます。
では、docker execとdocker attachの本当の違いは何なのでしょうか?
どのように解決するのか?
あるところに コミットPR で、doc に追加されました。
注意 このコマンド(
attach
) は、コンテナ内で新しいプロセスを実行するためのものではありません。 参照してください。docker exec
.
"の答えです。
Dockerです。実行済みコンテナ内でbashsshを取得する方法 (
run -d
)?
はその違いを示しています。
(docker >= 1.3) もし私たちが
docker attach
, のインスタンスを1つだけ使用することができます。 .
ですから、もしコンテナのシェルの新しいインスタンスで新しいターミナルを開きたいなら、単にdocker exec
ドッカーコンテナを起動する際に
/bin/bash
コマンドで起動されていれば、attach でアクセスできますが、そうでなければ を実行します。 コマンドを使用してコンテナ内に bash インスタンスを作成します。exec
.
で述べたように この問題 :
- Attachはコンテナ内で余計なものを実行するためではなく、実行中のプロセスにアタッチするためのものです。
- "
docker exec
は、シェルやその他のプロセスなど、すでに開始されているコンテナで新しいものを実行するために特に使用されます。
同じ問題が追加されます。
一方
attach
はうまく命名されていませんが、特にLXCコマンドのためにlxc-attach
(これはより似ているdocker exec <container> /bin/sh
に似ていますが、LXCに特有のものです)、Dockerが開始したプロセスに文字通りあなたを添付するという特定の目的があります。
プロセスが何であるかに応じて、動作は異なるかもしれません。 にアタッチされます。/bin/bash
にアタッチするとシェルが表示されますが、redis-serverにアタッチすると、デーモン化せずに直接redisを起動したようになります。
関連
-
[解決済み] Dockerfileの'COPY'と'ADD'コマンドの違いは何ですか?
-
[解決済み] Dockerコンテナの中から、マシンのローカルホストに接続するにはどうすればよいですか?
-
[解決済み] Docker Dockerコンテナからホストへのファイルコピー
-
[解決済み] DockerfileのCMDとENTRYPOINTの違いは何ですか?
-
[解決済み] 既に起動しているDockerコンテナに新しいTTYで入る方法
-
[解決済み] Ruby、execとsystemと%x()またはBackticksの違いについて
-
[解決済み】Dockerは仮想マシンとどう違うの?
-
[解決済み】Dockerコンテナのファイルシステムを調査する
-
[解決済み】Dockerのプロセスへのアタッチとデタッチはどうやるの?
-
[解決済み] Kubernetesの秘密を解き明かす
最新
-
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 login unknown shortorthand flag: 'e'
-
[解決済み] すべてのdockerボリュームを削除するには?
-
[解決済み] DC/OS上のDockerコンテナにおけるMarathonとKubernetesとDocker Swarmの比較
-
[解決済み] DockerにSSH接続する方法は?
-
[解決済み] dockerコンテナにroot以外のユーザーで接続する
-
[解決済み] pm2とdockerを一緒に使う意味は何ですか?
-
[解決済み] COMPOSE_HTTP_TIMEOUT のデフォルト値を docker-compose コマンドで上書きする方法
-
[解決済み] Dockerです。CLIで --password を使用するのは安全ではありません。パスワードは-password-stdinを使用してください。
-
[解決済み] Kubernetesの秘密を解き明かす
-
[解決済み] Dockerのベースイメージを自作するには?