1. ホーム
  2. docker

[解決済み] Dockerのimportとloadの違いは何ですか?

2023-06-22 02:20:30

質問

の違いについて理解しています。 export (コンテナ用) と save (イメージの場合) を使用します。しかし、最終的には、保存またはエクスポートのいずれかによって生成されたtarballは、以下のように使用されるべきです。 画像 .

では、なぜtarballからイメージを作成するコマンドが2つあるのでしょうか?

どのように解決するのか?

docker save を実行すると、確かに tarball が生成されます。 を生成しますが には、すべての親レイヤー、すべてのタグとバージョンが含まれます。

docker export も tarball を生成しますが、レイヤー/ヒストリーはありません。

これは、以下のような場合によく使われます。 画像を平坦化したい場合 で説明されているように Dockerコンテナまたはイメージを平らにする から トーマス・ウーリッグ :

docker export <CONTAINER ID> | docker import - some-image-name:latest

しかし、それらのtarballが生成されると、load/importはそこにあります。

  • docker import 作成 一つ からの画像 1 である tarball を使用します。 でもない イメージ (イメージとしてインポートしたいファイルシステム)。

を作成します。 空のファイルシステムイメージ を作成し、その中身を tarball

  • docker load は、潜在的に 複数の イメージを作成します。 docker save で保存できます。 複数の イメージを tarball で保存できます)。

ファイルや標準入力ストリームから tar 形式のリポジトリを読み込みます。