docker container pause コマンドでコンテナを一時停止する方法

DockerDockerBeginner
今すぐ練習

💡 このチュートリアルは英語版からAIによって翻訳されています。原文を確認するには、 ここをクリックしてください

はじめに

この実験では、docker container pause コマンドを使用して実行中のコンテナを一時停止する方法を学びます。まず、hello-world イメージを使用してシンプルなコンテナを作成・実行することから始めます。

その後、実行中のコンテナを一時停止し、その状態を確認する練習を行います。最後に、コンテナの一時停止を解除して実行を再開する方法を学びます。このチャレンジでは、Docker コマンドを使用してコンテナの状態を管理する実践的な導入を提供します。


Skills Graph

%%%%{init: {'theme':'neutral'}}%%%% flowchart RL docker(("Docker")) -.-> docker/ContainerOperationsGroup(["Container Operations"]) docker(("Docker")) -.-> docker/ImageOperationsGroup(["Image Operations"]) docker/ContainerOperationsGroup -.-> docker/run("Run a Container") docker/ContainerOperationsGroup -.-> docker/ps("List Running Containers") docker/ContainerOperationsGroup -.-> docker/stop("Stop Container") docker/ContainerOperationsGroup -.-> docker/rm("Remove Container") docker/ContainerOperationsGroup -.-> docker/inspect("Inspect Container") docker/ImageOperationsGroup -.-> docker/pull("Pull Image from Repository") subgraph Lab Skills docker/run -.-> lab-555115{{"docker container pause コマンドでコンテナを一時停止する方法"}} docker/ps -.-> lab-555115{{"docker container pause コマンドでコンテナを一時停止する方法"}} docker/stop -.-> lab-555115{{"docker container pause コマンドでコンテナを一時停止する方法"}} docker/rm -.-> lab-555115{{"docker container pause コマンドでコンテナを一時停止する方法"}} docker/inspect -.-> lab-555115{{"docker container pause コマンドでコンテナを一時停止する方法"}} docker/pull -.-> lab-555115{{"docker container pause コマンドでコンテナを一時停止する方法"}} end

シンプルなコンテナの作成と実行

このステップでは、シンプルな Docker コンテナを作成・実行する方法を学びます。コンテナとは、コードとその依存関係をパッケージ化したソフトウェアの標準単位であり、アプリケーションを異なるコンピューティング環境間で高速かつ確実に実行できるようにします。

まず、使用する Docker イメージをプルする必要があります。ここでは Docker の動作をデモンストレーションするために設計された非常に小さなイメージであるhello-worldを使用します。

docker pull hello-world

このコマンドは Docker Hub からhello-worldイメージをローカルマシンにダウンロードします。ダウンロードの進捗と完了を示す出力が表示されるはずです。

イメージを取得したので、これに基づいてコンテナを実行できます。

docker run hello-world

このコマンドはhello-worldイメージから新しいコンテナを作成し、実行します。このコンテナを実行すると、Docker のインストールが正しく動作していることを説明するメッセージがターミナルに表示されます。メッセージを表示した後、コンテナは終了します。

以下のような出力が表示されるはずです:

Hello from Docker!
This message shows that your installation appears to be working correctly.

To generate this message, Docker took the following steps:
 1. The Docker client contacted the Docker daemon.
 2. The Docker daemon pulled the "hello-world" image from the Docker Hub.
    (Assuming it was not already locally available)
 3. The Docker daemon created a new container from that image which runs the
    executable that produces the output you are currently reading.
 4. The Docker daemon streamed that output to the Docker client, which sent it
    to your terminal.

To try something more ambitious, you can run an Ubuntu container with:
 $ docker run -it ubuntu bash

Share images, automate workflows, and more with a free Docker ID:
 https://hub.docker.com/

For more examples and ideas, visit:
 https://docs.docker.com/get-started/

この出力は、最初の Docker コンテナを正常にプルして実行できたことを確認しています。

実行中のコンテナを一時停止する

前のステップでは、すぐに終了するシンプルなコンテナを実行しました。一時停止と再開のデモンストレーションを行うためには、実行状態を維持するコンテナが必要です。ここではシンプルなubuntuコンテナを使用し、バックグラウンドで実行し続けます。

まず、ubuntuイメージをプルします。

docker pull ubuntu

このコマンドは Docker Hub からubuntuイメージをダウンロードします。

次に、ubuntuコンテナをデタッチモード (-d) で実行し、バックグラウンドで動作させます。また、tail -f /dev/nullコマンドを使用してコンテナを無期限に実行し続けます。

docker run -d ubuntu tail -f /dev/null

このコマンドはコンテナ ID を出力します。この ID をコピーしてください。後でコンテナを一時停止する際に必要になります。

<container_id>

実行中のコンテナが準備できたので、docker pauseコマンドとコンテナ ID を使用して一時停止できます。

docker pause <container_id>

<container_id>は実際に実行中の Ubuntu コンテナの ID に置き換えてください。

このコマンドは指定したコンテナ内のすべてのプロセスを一時停止します。コンテナは依然として存在しますが、そのプロセスは中断された状態になります。

コンテナの一時停止状態を確認する

前のステップでは、実行中のコンテナを一時停止しました。ここでは、コンテナが実際に一時停止状態にあることを確認します。

実行中のコンテナを一覧表示し、その状態を確認するにはdocker psコマンドを使用します。

docker ps

このコマンドは現在実行中のコンテナの一覧を表示します。Ubuntu コンテナが一時停止されている場合、この一覧に依然として表示されますが、その状態は一時停止中であることを示します。前のステップで一時停止したコンテナ ID を探してください。

出力には、Up ... (Paused)のような状態でコンテナが表示されるはずです。

別の方法として、docker container inspectコマンドを使用して特定のコンテナの詳細情報(状態を含む)を取得できます。<container_id>は一時停止した Ubuntu コンテナの実際の ID に置き換えてください。

docker container inspect <container_id>

このコマンドは、コンテナのすべての設定と状態情報を含む大きな JSON オブジェクトを出力します。この出力内で"State"フィールドを探す必要があります。

docker container inspectを使用してコンテナが一時停止されているかどうかを具体的に確認するには、grepなどのツールを使用して出力をフィルタリングできます。

docker container inspect <container_id> | grep Paused

コンテナが一時停止されている場合、このコマンドは"Paused": true,のような行を出力します。これにより、コンテナの状態が実際に一時停止されていることが確認できます。

コンテナの一時停止を解除する

前のステップでは、Ubuntu コンテナが一時停止されていることを確認しました。ここでは、その一時停止を解除して実行を再開します。

コンテナの一時停止を解除するには、docker unpauseコマンドの後にコンテナ ID を指定します。<container_id>は一時停止中の Ubuntu コンテナの実際の ID に置き換えてください。

docker unpause <container_id>

このコマンドは、一時停止時に中断されていた指定コンテナ内のすべてのプロセスを再開します。

コンテナの一時停止を解除した後、docker psコマンドを使用して再度その状態を確認できます。

docker ps

今度は、Ubuntu コンテナの出力に(Paused)インジケーターなしでUp ...のような状態が表示されるはずです。これにより、コンテナが正常に再実行されていることが確認できます。

最後に、クリーンアップのためにコンテナを停止して削除できます。まずコンテナを停止します:

docker stop <container_id>

次に、コンテナを削除します:

docker rm <container_id>

これらのコマンドは、実行中のコンテナを停止し、システムから削除します。

まとめ

この実験では、docker container pauseコマンドを使用してコンテナを一時停止する方法を学びました。まずhello-worldイメージを使って簡単なコンテナを作成・実行し、イメージの取得とコンテナの実行という基本的なプロセスを確認しました。

コンテナの作成と実行に続いて、docker container pauseコマンドで実行中のコンテナを一時停止する方法と、その一時停止状態を確認する方法を学びました。最後に、docker container unpauseコマンドを使用してコンテナの実行を再開する方法を習得しました。