2.3. イメージのキャッシュ


2.3.1. 概要

OpenShift クラスターのプロビジョニングを迅速化し、ネットワークトラフィックを最小限に抑えるために、コンテナーイメージをホストにキャッシュすることができます。これらのイメージは、リクエストで明示的に、または minishift start 時に暗黙的にインポートできます。以下のセクションでは、イメージのキャッシュとその設定について詳しく説明します。

ヒント

イメージがキャッシュされる形式は、CDK バージョン 3.3.0 で変更されています。3.3.0 より前のバージョンでは、イメージは tar ファイルとして保存されていました。3.3.0 の時点で、イメージは OCI イメージ形式 に保存されます。

CDK 3.3.0 より前のイメージのキャッシュを使用した場合は、キャッシュを再作成する必要があります。廃止された 3.3.0 前のイメージを削除する場合は、以下を実行してキャッシュをクリアできます。

$ minishift delete --clear-cache

2.3.2. 明示的なイメージキャッシュ

CDK は、イメージキャッシュの動作を制御するために、image コマンドとサブコマンドを提供します。CDK 仮想マシンの Docker デーモンからイメージをエクスポートしてインポートするには、minishift image exportminishift image import を使用します。

2.3.2.1. 単一イメージのインポートおよびエクスポート

CDK 仮想マシンの実行後、イメージは Docker デーモンから明示的にエクスポートできます。

$ minishift image export <image-name-0> <image-name-1> ...
Pulling image <image-name-0> .. OK
Exporting <image-name-0>. OK
Pulling image <image-name-1> .. OK
Exporting <image-name-2>. OK
注記

Docker デーモンでは利用できないイメージは、ホストにエクスポートされる前にプルされます。

以前キャッシュされたイメージをインポートするには、minishift image import コマンドを使用します。

$ minishift image import <image-name-0> <image-name-1> ...
Importing <image-name-0> . OK

2.3.2.2. キャッシュされたイメージの一覧表示

minishift image list コマンドは、現在キャッシュされたイメージまたは CDK Docker デーモンで利用可能なイメージの一覧を表示します。

ホストで現在キャッシュされているイメージを表示するには、次のコマンドを実行します。

$ minishift image list
registry.access.redhat.com/openshift3/ose-docker-registry:v3.11.232
registry.access.redhat.com/openshift3/ose-haproxy-router:v3.11.232
registry.access.redhat.com/openshift3/ose:v3.11.232

Docker デーモンで利用可能なイメージを表示するには、以下を実行します。

$ minishift image list --vm
registry.access.redhat.com/openshift3/ose-deployer:v3.11.232
registry.access.redhat.com/openshift3/ose-docker-registry:v3.11.232
registry.access.redhat.com/openshift3/ose-haproxy-router:v3.11.232
registry.access.redhat.com/openshift3/ose-pod:v3.11.232
registry.access.redhat.com/openshift3/ose-web-console:v3.11.232
registry.access.redhat.com/openshift3/ose:v3.11.232

2.3.2.3. キャッシュされたイメージ名の永続化

image export または image import コマンドの一部としてイメージ名を明示的に入力しなくても、インポートおよびエクスポートを行うイメージ名の一覧を永続設定に保存できます。

minishift image cache-config view を使用して、現在設定されているイメージの一覧を表示し、minishift image cache-config add を使用してイメージを一覧に追加します。

$ minishift image cache-config view
$ minishift image cache-config add alpine:latest busybox:latest
$ minishift image cache-config view
alpine:latest
busybox:latest

一覧からイメージを削除するには、minishift image cache-config remove を使用します。

$ minishift image cache-config remove alpine:latest
$ minishift image cache-config view
busybox:latest

イメージ名を永続設定に保存すると、引数なしで minishift image export および minishift image import を実行できます。

2.3.2.4. すべてのイメージのエクスポートおよびインポート

--all フラグを使用して、すべてのイメージをエクスポートおよびインポートできます。export コマンドの場合は、現在 Docker デーモンで利用可能なすべてのイメージがホストにエクスポートされます。import コマンドの場合は、ローカル CDK キャッシュで利用可能なすべてのイメージが CDK 仮想マシンの Docker デーモンにインポートされることを意味します。

警告

すべてのイメージのエクスポートおよびインポートには時間がかかる可能性があり、ローカルにキャッシュされたイメージにはかなりの量のディスク容量が使用される可能性があります。この機能は注意して使用することが推奨されます。

2.3.3. 暗黙的なイメージキャッシュ

CDK では、イメージのキャッシュがデフォルトで有効になっています。これは、minishift start コマンドを初めて完了した後にバックグラウンドプロセスで発生します。イメージが $MINISHIFT_HOME/cache/image にキャッシュされると、連続した CDK 仮想マシンの作成により、これらのキャッシュされたイメージが使用されます。

この機能を無効にするには、minishift config set コマンドを使用して、永続設定で image-caching プロパティーを無効にする必要があります。

$ minishift config set image-caching false
注記

暗黙的なイメージのキャッシュにより、cache-images 設定オプションごとに指定されるように、必要な OpenShift イメージをキャッシュされたイメージの一覧に透過的に追加します。「キャッシュされたイメージ名の永続化」を参照してください。

ヒント

イメージのエクスポートのバックグラウンドプロセスを実行するたびに、ログファイルが $MINISHIFT_HOME/logs の下に生成されます。これは、エクスポートの進捗を検証するために使用できます。

image-cachingtrue に設定するか、minishift config unset を使用して設定をすべて削除して、OpenShift イメージのキャッシュを再度有効にできます。

$ minishift config unset image-caching

2.3.4. ローカルキャッシュからのイメージの削除

イメージは $MINISHIFT_HOME/cache/images の下にキャッシュされ、SHA256 ブロブとして、イメージ名で SHA を照合する際の詳細情報が含まれるインデックスとして保存されます。

ローカルキャッシュからイメージを削除するには、minishift image delete コマンドを使用します。

$ minishift image delete <image-name-0> <image-name-1> ...
Deleting <image-name-0> from the local cache OK
Deleting <image-name-1> from the local cache OK
Red Hat logoGithubRedditYoutubeTwitter

詳細情報

試用、購入および販売

コミュニティー

Red Hat ドキュメントについて

Red Hat をお使いのお客様が、信頼できるコンテンツが含まれている製品やサービスを活用することで、イノベーションを行い、目標を達成できるようにします。

多様性を受け入れるオープンソースの強化

Red Hat では、コード、ドキュメント、Web プロパティーにおける配慮に欠ける用語の置き換えに取り組んでいます。このような変更は、段階的に実施される予定です。詳細情報: Red Hat ブログ.

会社概要

Red Hat は、企業がコアとなるデータセンターからネットワークエッジに至るまで、各種プラットフォームや環境全体で作業を簡素化できるように、強化されたソリューションを提供しています。

© 2024 Red Hat, Inc.