このページで解説している内容は、以下の YouTube 動画の解説で見ることができます。

Docker超入門:コンテナをイメージ化!Docker export/importの使い方

コンテナをイメージ化!Docker export/importの使い方

 Dockerを使っていると「このコンテナをまるごと保存して、あとで再利用したい!」という場面が出てきます。
 そんな時に便利なのが docker container export / docker container import です。これを使うと、実行済みのコンテナをアーカイブとして保存し、新しいイメージとして復元できます。

コンテナをエクスポートする(docker container export)

コマンドの書式

docker container export [コンテナ名] > [保存先ファイル名.tar]

 このコマンドは、指定したコンテナのファイルシステムをアーカイブ化してtarファイルに保存します。

実行例

docker container export ubuntu-smp > ubuntu-smp2.tar

これで、ubuntu-smp コンテナの内容が ubuntu-smp2.tar というファイルに保存されます。

主なオプション

オプション説明
なし基本的にリダイレクト演算子(>)でtarファイルに保存します

実際の操作の流れ

1.作業用ディレクトリに移動する(例: cd desktop/docker

PS C:\Users\joeac> cd desktop/docker
PS C:\Users\joeac\Desktop\docker>

2.docker container ls -a でコンテナを確認

PS C:\Users\joeac\Desktop\docker> docker container ls -a
CONTAINER ID   IMAGE           COMMAND                 CREATED        STATUS                      PORTS     NAMES
078979d33132   ubuntu:latest   "/bin/bash"             32 hours ago   Exited (255) 26 hours ago             ubuntu-smp
bc9be182e8a6   ubuntu-echo     "echo 'Hello Ubuntu'"   45 hours ago   Exited (0) 45 hours ago               cranky_dijkstra

3.docker container export で保存

PS C:\Users\joeac\Desktop\docker> docker container export ubuntu-smp > ubuntu-smp2.tar

4.ls コマンドでtarファイルが生成されているか確認

PS C:\Users\joeac\Desktop\docker> ls

    Directory: C:\Users\joeac\Desktop\docker

Mode                 LastWriteTime         Length Name
----                 -------------         ------ ----
-a---          2025/09/23     3:51             41 Dockerfile
-a---          2025/09/24    23:28       29737984 ubuntu-smp.tar
-a---          2025/09/25     0:40       80638464 ubuntu-smp2.tar

コンテナをイメージ化する(docker container import)

コマンドの書式

docker container import [保存されたファイル名.tar] [新しいイメージ名]

このコマンドは、エクスポートされたコンテナアーカイブから新しいDockerイメージを作成します。

実行例

docker image import ubuntu-smp2.tar ubuntu-smp2

これで、tarファイルから ubuntu-smp2 という名前の新しいイメージが作成されます。

主なオプション

オプション説明
なしtarファイルとイメージ名を指定するだけで実行できます。

実際の操作の流れ

1.docker image import でtarファイルをイメージ化

PS C:\Users\joeac\Desktop\docker> docker image import ubuntu-smp2.tar ubuntu-smp2
sha256:861f66dfe30926911acd810d285a3d69ca6b574c66102ecaa32cbdbb4fedbc4b

2.docker image ls で生成されたイメージを確認

PS C:\Users\joeac\Desktop\docker> docker image ls
REPOSITORY                   TAG       IMAGE ID       CREATED          SIZE
ubuntu-smp2                  latest    861f66dfe309   24 seconds ago   118MB
infralinux1/ubuntu-smp-img   1.0       231a383336c0   32 hours ago     117MB
infralinux1/ubuntu-smp       1.0       83e81b62b3c4   2 weeks ago      117MB
ubuntu-echo                  latest    83e81b62b3c4   2 weeks ago      117MB
ubuntu                       latest    353675e2a41b   2 weeks ago      117MB

save/load と export/import の違い

コマンド保存対象読み込み対象特徴
docker image save / loadイメージイメージメタデータ(履歴やタグ情報)も保持される。
docker container export / importコンテナイメージファイルシステムのみを保存、履歴は保持されない。

 つまり、イメージをそのままバックアップしたいなら save/load、コンテナを元に新しいイメージを作りたいなら export/import を使うのがポイントです。

まとめ

  • docker container export でコンテナをtarファイルに保存できる。
  • docker container import で保存したtarファイルを新しいイメージとして復元できる。
  • save/load はイメージのバックアップ用、export/import はコンテナからイメージを作りたい時に使う。

この方法を知っておくと、実行済みの環境をそのままイメージ化できるので、とても便利ですよ! 🚀