Docker コンテナとは
イメージの実行中のインスタンスはコンテナーと呼ばれます。 Docker は、Docker イメージを読み取り専用テンプレートとして使用してそれらを起動します。イメージを開始すると、このイメージのコンテナーが実行されます。当然、同じイメージの実行中のコンテナーを多数持つことができます。コマンド「docker run」を使用します ” コンテナを実行します。
Docker コンテナの一覧表示
コンテナーを一覧表示するには、次のコマンドを実行します:
# docker ps [ OPTIONS ]
実行中のコンテナと停止中のコンテナの両方を一覧表示するには、次のように -a オプションを使用します:
# docker ps -a
こちら
コンテナID – すべてのコンテナに一意の ID が付与されます。
IMAGE – コンテナが開始されたベース イメージ。
COMMAND – コンテナの起動時に使用されたコマンド (「docker run」でコマンドを指定しない場合、デフォルトは /bin/bash です)。
CREATED – コンテナが作成された時刻。
STATUS – コンテナの現在のステータス (Up または Exited)。
PORTS – ポート番号がある場合は、外界と通信するために Docker ホストに転送されます。
NAMES – Dockers デーモンは、面白い方法でクラスターに名前を付けます。ただし、コンテナをスポーンするときに独自の名前を指定することもできます。
コンテナ ID のみを一覧表示するには、-aq を使用します オプション。
# docker ps -qa eeae1186ea78 52249ba75f0f 709773bb7128
最後に作成された (実行中または停止中の) コンテナーを一覧表示するには:
# docker ps -l CONTAINER ID IMAGE COMMAND CREATED STATUS PORTS NAMES eeae1186ea78 centos "/bin/bash" About a minute ago Up About a minute modest_hypatia
Docker コンテナの起動
次のコマンドを使用して、Docker コンテナーを開始します:
# docker run [ OPTIONS ] IMAGE[:TAG] [COMMAND] [ARG...]
例:
# docker run -i -t --name=centos7_lab centos:latest /bin/bash
ここで、
-i :コンテナをインタラクティブ モードで起動します。
-t :疑似 tty を割り当て、標準入力にアタッチします
–name :コンテナーのわかりやすい名前。名前が指定されていない場合、ランダムな文字列がコンテナー名として割り当てられます。
-t を指定して docker コマンドを実行すると、すぐにコンテナーにアタッチされ、コマンド プロンプトが変更されます。コマンド「exit」を使用してコンテナから出ることができます。
注意 :「docker run」コマンドを実行し、iamge がシステム上でローカルに利用できない場合、「docker run」コマンドを実行する前に、まず「docker search」および「docker pull」コマンドを使用してレジストリからダウンロードされます。
上記のすべての例では、コンテナを起動すると、自動的にログインされます。コンテナを終了すると、コンテナは停止します。 -d を使用してログアウトしてもコンテナを実行し続けることもできます オプション。例:
# docker run -itd --name=geeklab centos:latest /bin/bash cae760f70ec4bd232891364824773c2a3cac8f7854261108c474d304e6a5c5fa
ここで、
-d – コンテナーをバックグラウンドで実行し、コンテナー ID を出力します。
Docker コンテナの停止
一度に 1 つまたは複数 (すべて) のコンテナーを停止できます。 Docker コンテナーを停止するコマンドの構文は次のとおりです。
docker stop [-t|--time[=10]] CONTAINER [CONTAINER...]
ここで、
–time/-t コンテナーを停止する前に待機する猶予期間です。
たとえば、まずどのコンテナが実行されているかを確認します。
# docker ps -q eeae1186ea78
上記のコンテナーを停止するには、以下のコマンドを使用します。
# docker stop eeae1186ea78 eeae1186ea78
すべてのコンテナーを停止するには、次のコマンドを実行します:
# docker stop `docker ps -q`
Docker コンテナの削除
Docker コンテナーを削除するには、以下の構文を使用します:
# docker rm [ OPTIONS ] CONTAINER [ CONTAINER ]
例:
# docker rm eeae1186ea78 eeae1186ea78
コンテナーを削除するには、まずコンテナーを停止する必要があります。たとえば、実行中のコンテナを削除しようとすると、次のようなエラーが発生します:
# docker ps CONTAINER ID IMAGE COMMAND CREATED STATUS PORTS NAMES cae760f70ec4 centos:latest "/bin/bash" 4 minutes ago Up 4 minutes geeklab
# docker rm cae760f70ec4 Error response from daemon: You cannot remove a running container cae760f70ec4bd232891364824773c2a3cac8f7854261108c474d304e6a5c5fa. Stop the container before a ttempting removal or force remove
したがって、コンテナーを削除するには、まずコンテナーを停止してから削除してください。
# docker stop cae760f70ec4 cae760f70ec4
# docker rm cae760f70ec4 cae760f70ec4
コンテナーを停止せずに強制的に削除するには、-f を使用します オプション。
# docker rm -f 18a1924e8499 18a1924e8499
すべてのコンテナを一度に削除するには、まずすべてのコンテナを停止してから削除してください。
# docker stop `docker ps -q` # docker rm `docker ps -aq`Docker トラブルシューティング – 「競合:削除できません。実行中のコンテナーによってイメージが使用されています」
CentOS / RHEL / Fedora に Docker をインストールする方法