はじめに
この実験では、Docker コンテナのチェックポイントをリスト表示するdocker checkpoint lsコマンドの使用方法を学びます。まずコンテナを作成し、その後チェックポイントを作成します。
チェックポイント作成後、標準のdocker checkpoint lsコマンドを使用してコンテナに関連付けられたチェックポイントをリスト表示する方法を確認します。最後に、カスタムチェックポイントディレクトリが指定されている場合にチェックポイントをリスト表示する方法を学びます。
コンテナとチェックポイントの作成
このステップでは、Docker コンテナを作成し、そのチェックポイントを作成する方法を学びます。チェックポイント機能を使用すると、実行中のコンテナの状態を保存し、後で復元できます。これはデバッグ、マイグレーション、アプリケーションのスナップショット作成に役立ちます。
まず、コンテナを実行するために使用するシンプルなイメージをプルします。ここではubuntuイメージを使用します。
docker pull ubuntu:latest
イメージがダウンロードされていることを示す出力が表示されます。
latest: Pulling from library/ubuntu
...
Status: Downloaded newer image for ubuntu:latest
docker.io/library/ubuntu:latest
次に、このイメージからコンテナを実行します。コンテナをしばらく実行し続ける簡単なコマンドを実行します。
docker run -d --name mycontainer ubuntu:latest sleep 3600
コマンドの詳細説明:
docker run: 新しいコンテナを実行するコマンド-d: コンテナをバックグラウンドで実行するフラグ--name mycontainer: コンテナにmycontainerという名前を割り当てubuntu:latest: コンテナで使用するイメージを指定sleep 3600: コンテナ内で実行されるコマンド。3600 秒 (1 時間) コンテナを実行し続けます
docker psコマンドでコンテナが実行中か確認できます。
docker ps
mycontainerが実行中であることを示す以下のような出力が表示されます:
CONTAINER ID IMAGE COMMAND CREATED STATUS PORTS NAMES
<container_id> ubuntu:latest "sleep 3600" About a minute ago Up About a minute mycontainer
実行中のコンテナができたので、チェックポイントを作成しましょう。チェックポイントを作成するにはdocker checkpoint createコマンドを使用します。
docker checkpoint create mycontainer mycheckpoint1
コマンドの詳細説明:
docker checkpoint create: コンテナのチェックポイントを作成するコマンドmycontainer: チェックポイントを作成するコンテナ名mycheckpoint1: チェックポイントに付ける名前
コマンドが成功すると、出力は表示されません。これはmycontainerコンテナに対してmycheckpoint1というチェックポイントが作成されたことを意味します。
コンテナのチェックポイント一覧表示
前のステップでは、mycontainerコンテナに対してmycheckpoint1という名前のチェックポイントを作成しました。ここでは、特定のコンテナに存在するチェックポイントを一覧表示する方法を学びます。
コンテナのチェックポイントを一覧表示するには、docker checkpoint lsコマンドの後にコンテナ名を指定します。
docker checkpoint ls mycontainer
このコマンドは、mycontainerに関連付けられたすべてのチェックポイントのリストを表示します。
前のステップで作成したチェックポイントが表示されるはずです:
CHECKPOINT ID
mycheckpoint1
この出力は、mycontainerコンテナに対してmycheckpoint1チェックポイントが存在することを確認しています。
同じコンテナに対して複数のチェックポイントを作成できます。リストがどのように変化するか確認するため、別のチェックポイントを作成しましょう。
docker checkpoint create mycontainer mycheckpoint2
再度チェックポイントを一覧表示します:
docker checkpoint ls mycontainer
今度は両方のチェックポイントが表示されます:
CHECKPOINT ID
mycheckpoint1
mycheckpoint2
これで、特定のコンテナに関連付けられたすべてのチェックポイントを一覧表示する方法が確認できました。
カスタムチェックポイントディレクトリを使用したチェックポイント一覧表示
これまでのステップでは、mycontainerコンテナのチェックポイントを作成し、デフォルトのチェックポイントディレクトリを使用して一覧表示しました。Docker はチェックポイントをデフォルトの場所に保存しますが、カスタムディレクトリを指定してチェックポイントを保存することも可能です。これはチェックポイントを整理したり、別のボリュームに保存したりする場合に便利です。
カスタムディレクトリにチェックポイントを作成するには、docker checkpoint createコマンドに--checkpoint-dirフラグを指定します。まず、カスタムチェックポイントを保存するディレクトリを作成しましょう。ホームディレクトリにmycheckpointsというディレクトリを作成します。
mkdir ~/project/mycheckpoints
次に、mycontainerの新しいチェックポイントを作成し、~/project/mycheckpointsディレクトリに保存します。
docker checkpoint create --checkpoint-dir ~/project/mycheckpoints mycontainer mycheckpoint3
コマンドの詳細説明:
docker checkpoint create: チェックポイントを作成するコマンド--checkpoint-dir ~/project/mycheckpoints: チェックポイントを保存するカスタムディレクトリを指定mycontainer: チェックポイントを作成するコンテナ名mycheckpoint3: 新しいチェックポイントに付ける名前
コマンドが成功すると、出力は表示されません。これは~/project/mycheckpointsディレクトリにmycheckpoint3チェックポイントが作成されたことを意味します。
カスタムディレクトリに保存されたチェックポイントを一覧表示するには、docker checkpoint lsコマンドに--checkpoint-dirフラグを指定し、カスタムディレクトリを明示する必要があります。
docker checkpoint ls --checkpoint-dir ~/project/mycheckpoints mycontainer
このコマンドは、mycontainerコンテナに対して指定したカスタムディレクトリ内のチェックポイントを一覧表示します。
カスタムディレクトリに作成したチェックポイントのみが表示されます:
CHECKPOINT ID
mycheckpoint3
このコマンドは指定したカスタムディレクトリ内のチェックポイント (mycheckpoint3) のみを表示し、デフォルトの場所に保存されたチェックポイント (mycheckpoint1とmycheckpoint2) は表示されないことに注意してください。
コンテナのすべてのチェックポイントを表示するには、各ディレクトリから個別にチェックポイントを一覧表示するか、この情報を集約するツールを使用する必要があります。ただし、特定のカスタムディレクトリ内のチェックポイントを一覧表示するには、--checkpoint-dirフラグが必須です。
最後に、作成したコンテナをクリーンアップしましょう。
docker stop mycontainer
docker rm mycontainer
これでmycontainerコンテナが停止・削除されます。
まとめ
この実験では、Docker コンテナのチェックポイントを一覧表示するdocker checkpoint lsコマンドの使用方法を学びました。まずコンテナを作成し、docker checkpoint createコマンドを使用してチェックポイントを作成しました。
その後、docker checkpoint lsコマンドを使用して作成したチェックポイントを一覧表示する方法を確認しました。最後に、カスタムチェックポイントディレクトリに保存されたチェックポイントを一覧表示する方法を学び、異なる場所でチェックポイントを管理する柔軟性を実証しました。



