LoginSignup
44
41

More than 3 years have passed since last update.

Docker save→load export→import どっち?

Last updated at Posted at 2019-03-12

1.save → load

Dockerイメージを save でtarファイルに保存して、load で作成してみる。

ubuntu イメージをダウンロード。

$ docker pull ubuntu

ubuntu イメージがダウンロードされたことを確認する。

$ docker images

ubuntu イメージを ubuntuv2.tar で圧縮する。

$ docker save ubuntu -o ubuntuv2.tar

圧縮され、保存されていること確認。

$ file ubuntuv2.tar

次に解凍したものとわからなくならないようにするため、一旦既存の ubuntu イメージを削除。

$ docker rmi ubuntu

ubuntuv2.tar を解凍する。

$ docker load -i ubuntuv2.tar

イメージが改めて作成されたことを確認する。

$ docker images

2.export → import

Dockerファイル、nginxv2 を nginxv3_tar としてエクスポートします。

$ docker export nginxv2 > nginxv3_tar

nginxv3_tar が作成されたことを確認します。

$ ls -l nginxv3_tar

nginxv3_tar を nginx:v3 でインポートします。

$ docker import nginxv3_tar > nginx:v3

イメージが作成されたことを確認します。

$ docker images 

3.どっち?

saveはイメージを保存、
exportはコンテナを保存
 という違いがあります。

その上で、両者の違いとして大きいのはメタ情報を保存するかどうかという点です。

Dockerのイメージは、ファイル差分がレイヤが重なるような構成となっており、
saveはレイヤの情報なども含めた状態で保存されます。
exportはDockerとしての構造やメタ情報は保存されず、ファイルシステムだけが保存されます。

44
41
0

Register as a new user and use Qiita more conveniently

  1. You get articles that match your needs
  2. You can efficiently read back useful information
  3. You can use dark theme
What you can do with signing up
44
41