所有しているDockerイメージを他のPCでも使用したい場合に使えるコマンドです。
SaveコマンドでDockerイメージをtarファイルに保存します。その後、保存したtarファイルをLoadコマンドでDockerイメージとして取り込みます。
今回操作するDockerイメージは以下で構築したものです。
Dockerイメージの書き出し ※Saveコマンド
# Dockerイメージの一覧
$ docker images
REPOSITORY TAG IMAGE ID CREATED SIZE
php7-apache latest e676f3213cd1 40 hours ago 1.1GB
# php7-apacheをファイルに書き出し
$ docker save php7-apache:latest > php7-apache-image.tar
# 書き出したファイルの確認
$ ls
php7-apache-image.tar
これでDockerイメージのファイル書き出しは完了です。
Dockerイメージファイルの読み込み ※Loadコマンド
# 読み込み前に既存のイメージを削除
$ docker images
REPOSITORY TAG IMAGE ID CREATED SIZE
php7-apache latest e676f3213cd1 40 hours ago 1.1GB
$ docker rmi e676f3213cd1
$ docker images
REPOSITORY TAG IMAGE ID CREATED SIZE
# 削除完了
# 読み込みファイルの確認
$ ls
php7-apache-image.tar
# イメージファイルの読み込み
$ docker load -i php7-apache-image.tar
20eeb51aa6dd: Loading layer [==================================================>] 81.91MB/81.91MB
100914c44300: Loading layer [==================================================>] 170.6MB/170.6MB
ecb16ac98f26: Loading layer [==================================================>] 152.9MB/152.9MB
5bf87ce9a0a8: Loading layer [==================================================>] 24.31MB/24.31MB
bef3af56afbf: Loading layer [==================================================>] 130.2MB/130.2MB
80ce826b8a6d: Loading layer [==================================================>] 342.6MB/342.6MB
a01430b18708: Loading layer [==================================================>] 3.584kB/3.584kB
Loaded image: php7-apache:latest
# イメージの確認
[root@localhost vagrant]# docker images
REPOSITORY TAG IMAGE ID CREATED SIZE
php7-apache latest e676f3213cd1 40 hours ago 1.1GB
正常にphp7-apacheのイメージが読み込まれました。
以上でDockerイメージのファイル書き出し(Save&Load)は完了です。
30代のWEB系企業エンジニアです。毎回同じようなことを検索してしまうので、自分の備忘録的に書いています。サイトのデザインはQiita(https://qiita.com)さんに寄せています。