GNU/Linux >> Linux の 問題 >  >> Panels >> Docker

Docker Containerをバックグラウンドで実行する(デタッチモード)

Dockerでは、イメージ開発者は、デタッチまたはフォアグラウンド実行に関連するイメージのデフォルト、およびその他の便利な設定を定義できます。ただし、 docker run [OPTIONS]を使用します コマンドを使用すると、開発者が設定したイメージのデフォルトを追加またはオーバーライドできるため、コンテナの実行方法をより細かく制御できます。

また読む :ctop –Dockerコンテナを監視するためのトップライクなインターフェイス

この記事では、フォアグラウンドモードについて簡単に説明します。 およびバックグラウンドモード コンテナを実行する方法について説明します。また、Dockerコンテナを実行する方法も示します。 デタッチモードのバックグラウンドで 。

フォアグラウンドモード(デフォルト)とバックグラウンド/デタッチモード

Dockerコンテナを開始する前に 、まず、デフォルトのフォアグラウンドモードで実行するかどうかを決定する必要があります またはデタッチモードのバックグラウンドで 。

フォアグラウンドモードの場合 、 Docker コンテナでプロセスを開始し、コンソールをプロセスの標準入力、標準出力、および標準エラーに接続できます。

-tなど、より多くの設定を行うためのコマンドラインオプションもあります。 疑似ttyを割り当てる プロセスに、そして-i STDINを維持する 取り付けられていなくても開きます。 1つ以上のファイル記述子( STDIN )に添付することもできます 、 STDOUT および/またはSTDERR-a=[value here]を使用する フラグ。

重要なのは、--rm option Dockerに通知します コンテナが終了したときに自動的に削除します。次の例は、Dockerコンテナをフォアグラウンドモードで起動する方法を示しています。

# docker run --rm -ti -p 8000:80 -p 8443:443 --name pandorafms pandorafms/pandorafms:latest

フォアグラウンドでコンテナを実行することのデメリット 上のスクリーンショットからわかるように、コマンドプロンプトにアクセスできなくなっているということです。つまり、コンテナの実行中は他のコマンドを実行できません。

バックグラウンドでDockerコンテナを実行するには 、use -d=trueを使用します または単に-d オプション。まず、フォアグラウンドモードから停止します [Ctrl+C]を押す 、次にデタッチモードで実行します 示されているように:

# docker run -d --rm -p 8000:80 -p 8443:443 --name pandorafms pandorafms/pandorafms:latest

すべてのコンテナを一覧表示するには、次のコマンドを実行します(デフォルトでは実行中のみを示します)。

# docker ps -a

さらに、切り離されたコンテナに再アタッチするには、 docker attachを使用します コマンド。

# docker attach --name pandorafms
OR
# docker attach 301aef99c1f3

上記のコンテナまたはその他の実行中のコンテナを停止する場合は、次のコマンドを使用します( 301aef99c1f3 を置き換えます) 実際のコンテナIDを使用)。

# docker stop 301aef99c1f3

以下の関連するDockerの記事もお読みください。

  1. Dockerをインストールし、CentOSおよびRHEL 7/6での基本的なコンテナー操作の学習–パート1
  2. Dockerコンテナに名前を付けるまたは名前を変更する方法
  3. Dockerイメージ、コンテナ、ボリュームを削除する方法

それでおしまい!この記事では、Dockerコンテナーをバックグラウンドでデタッチモードで実行する方法を示しました。以下のコメントフォームを使用して、この記事に関するフィードバックや質問をしてください。


Docker
  1. Dockerコンテナ内でプログラムを実行する方法は?

  2. Dockerの概要

  3. Dockerの実行と開始と作成:違いの説明

  1. DockerコンテナでNginxを実行する方法:ステップバイステップガイド

  2. DockerコンテナでMySQLを実行する方法:シンプルでわかりやすいガイド

  3. 一部のDOCKERコマンド

  1. DockerコンテナでMySQLを実行する方法

  2. 実行中のDockerコンテナでコマンドを実行する方法

  3. docker は Linux コンテナー内で実行できますか?