このステップでは、--platform
フラグを使用して Docker イメージアーカイブから特定プラットフォームバリアントを読み込む方法を説明します。これはイメージアーカイブが複数のアーキテクチャ(例:linux/amd64
、linux/arm64
)向けのバリアントを含んでいる場合に特に有用です。
まず、再度hello-world
イメージを削除して初期状態に戻します。
docker rmi hello-world
イメージが削除されたことを確認する出力が表示されるはずです。
Untagged: hello-world:latest
Deleted: sha256:...
次に、docker load
コマンドで--input
フラグを使用してアーカイブファイルを指定し、--platform
フラグで目的のプラットフォームを指定します。この例では、LabEx VM のアーキテクチャであるlinux/amd64
を指定します。
docker load --input ~/project/hello-world.tar --platform linux/amd64
--platform
フラグは、Docker が指定されたアーキテクチャとオペレーティングシステムに一致するイメージバリアントのみを読み込むことを保証します。hello-world
イメージは非常にシンプルで、アーカイブ内に大きなプラットフォーム差異がない可能性が高いですが、このフラグの使用方法を示しています。レイヤーが読み込まれていることを示す出力が表示されるはずです。
...
Loaded image: hello-world:latest
イメージが読み込まれたことを確認するために、Docker イメージを一覧表示します。
docker images
hello-world
イメージがリストに表示されるはずです。
REPOSITORY TAG IMAGE ID CREATED SIZE
hello-world latest ... ... ...
マルチアーキテクチャイメージアーカイブを扱う際に--platform
フラグを使用することは、環境に適した正しいバリアントを読み込むために重要です。