このページで解説している内容は、以下の YouTube 動画の解説で見ることができます。
【Docker入門】イメージのローカル保存と読込
イメージのローカルホストへの保存と読み込みは、Dockerを使用してイメージを操作する際によく行われるタスクです。以下にそれぞれの手順とコマンドについて解説していきます。
ローカルへのイメージ保存と読み込み
Dockerイメージをローカルホストに保存するためには、「docker image save
」コマンドを使用します。また、保存したイメージを読み込むには「docker image load
」コマンドを使用します。Dockerはイメージをtarファイルの形式で保存および読み込みます。これは標準的なアーカイブ形式です。
「docker image save
」コマンド
このコマンドは、指定したイメージをtarファイルにして、ローカルに保存します。
【構文】docker image save -o [保存先ファイル名.tar] [イメージ名]
イメージをローカルへ保存
イメージをローカルに保存していきます。
まず、作業ディレクトリに移動しておきます。
・「cd desktop/docker」コマンドで作業ディレクトリに移動します。
PS C:\Users\joeac> cd desktop/docker
PS C:\Users\joeac\Desktop\docker>
以下のコマンドを実行します。
- 「docker image save -o centos-smp-img.tar infralinux1/centos-smp-img」コマンド
- 「docker image save -o ubuntu-smp.tar infralinux1/ubuntu-smp」コマンド
PS C:\Users\joeac\Desktop\docker> docker image save -o centos-smp-img.tar infralinux1/centos-smp-img
PS C:\Users\joeac\Desktop\docker> docker image save -o ubuntu-smp.tar infralinux1/ubuntu-smp
・「ls」コマンドで、保存したtarファイルを確認します。
「centos-smp-img.tar」と「ubuntu-smp.tar」ファイルがあることが確認できます。
PS C:\Users\joeac\Desktop\docker> ls
Directory: C:\Users\joeac\Desktop\docker
Mode LastWriteTime Length Name
---- ------------- ------ ----
-a--- 2024/03/17 13:58 238586880 centos-smp-img.tar
-a--- 2024/03/13 0:04 36 Dockerfile
-a--- 2024/03/16 1:43 15 sample.txt
-a--- 2024/03/17 13:58 80421376 ubuntu-smp.tar
「docker image load
」コマンド
このコマンドは、tarファイルからイメージを読み込み、ローカルのDockerイメージリポジトリにインポートします。
【構文】docker image load -i [保存されたファイル名.tar]
ローカルへのイメージの読み込み
イメージをローカルに読み込んでいきます。
ここで、一旦、ローカルにあるDockerイメージをすべて強制削除しておきます。
以下のコマンドを実行します。
- 「docker image rm -f infralinux1/centos-smp-img:1.0」コマンド
- 「docker image rm -f infralinux1/ubuntu-smp:1.0」コマンド
PS C:\Users\joeac\Desktop\docker> docker image rm -f infralinux1/centos-smp-img:1.0
Untagged: infralinux1/centos-smp-img:1.0
Untagged: infralinux1/centos-smp-img@sha256:000101fbf47c44603b193896b78edb46a78d5972b215ba9b9d091ee23a69a527
Deleted: sha256:303fb5d5c2a92645a859ac2ededb0294e0b9b4c019771c99f57a200fd997726d
PS C:\Users\joeac\Desktop\docker> docker image rm -f infralinux1/ubuntu-smp:1.0
Untagged: infralinux1/ubuntu-smp:1.0
Untagged: infralinux1/ubuntu-smp@sha256:e3be8338a6f55fb6f16d5a56a6eff6cb1a5b3ffce19f0bcbf151f64d8e50cc9c
Deleted: sha256:9a9568f10c243fe5494ae055466dfb32a286395bd65a78c14d860d6631c24af3
以下のコマンドを実行します。
- 「docker image load -i centos-smp-img.tar」コマンド
- 「docker image load -i ubuntu-smp.tar」コマンド
PS C:\Users\joeac\Desktop\docker> docker image load -i centos-smp-img.tar
Loaded image: infralinux1/centos-smp-img:1.0
PS C:\Users\joeac\Desktop\docker> docker image load -i ubuntu-smp.tar
Loaded image: infralinux1/ubuntu-smp:1.0
読み込んだイメージを確認します。
・「docker container ls」コマンドを実行します。
PS C:\Users\joeac\Desktop\docker> docker image ls
REPOSITORY TAG IMAGE ID CREATED SIZE
infralinux1/centos-smp-img 1.0 303fb5d5c2a9 37 hours ago 231MB
infralinux1/ubuntu-smp 1.0 9a9568f10c24 2 weeks ago 77.9MB
tarファイルとは
ここで、tar ファイルについて補足しておきます。
tarファイルとは、複数のファイルを1つのアーカイブにまとめるためのファイル形式です。通常、ファイルやディレクトリの階層構造を保持しつつ、データを圧縮せずにまとめることができます。Dockerでは、イメージやコンテナをtarファイルにエクスポートすることで、データのバックアップや転送が容易になります。