Dockerでイメージを保存(save)、読み込み(load)

docker
スポンサーリンク

イメージ保存コマンド

> (大なり記号)を使用する場合

1個のイメージをsaveするだけの場合、個人的には、こっちのほうが直感的で好き。

docker save イメージ[:tag] -o 保存ファイルパス.tar

docker save イメージ[:tag] > 保存ファイルパス.tar

docker save web:1 > web_1.tar

 

-o オプションを使用する場合

 > は、-o でもいい。

-o オプションでやる場合は、構文が少し変わる。

docker save -o 保存ファイルパス.tar イメージ[:tag]

 

でも、

docker save イメージ[:tag] -o 保存ファイルパス.tar

の形式で試してみたところ、作成された。

⇒ためしたdocker バージョン:Docker version 20.10.14, build a224086349

 

-o は、 –outputの省略形。

 docker save --output busybox.tar busybox

 

docker save
docker save: リポジトリを tar 処理して標準出力にストリーム出力します。そこには親レイヤーすべて、全タグ、全バージョン、あるいは`repo:tag`が指定されればその引数に応じたタグ、バージョンが含まれます。

 

-o オプションのあとで、出力される tarファイル、次にdocker imageという指定順。

tarコマンドに慣れてる人や、英語脳寄りな人はこっちのほうがしっくり来るのかも?

 

 

docker save イメージ[:tag] -o 保存ファイルパス.tar

をして、コマンドを発行したときに居たカレントディレクトリにtarファイルが出来て無い!?と思ったんだが、探してみたら以下の場所に作成されていた。

/tmp/snap.docker/tmp/

 

ここらへんも分かりづらいのでやっぱり >(大なり)方式でやるのがベターだな。今んとこ。

イメージ読み込みコマンド

docker load < 保存ファイルパス.tar

docker load < web_1.tar

< は、 -i でもいい。

-i は、–input の省略形。

 

参考:https://docs.docker.jp/engine/reference/commandline/load.html

コメント