imageをファイルにエクスポートしておきたいなーって事があり、ちょうど良かったのがあったので覚え書きします。
エクスポート
docker save [repository]:[tag] > [好きな名前].tar
これでエクスポートができます。repositoryとtag両方指定しないと、インポート時に[none]
となってしまうので注意です。
例:
docker save nginx:latest > image.tar
複数指定もできます。
docker save nginx:latest redis:latest > image.tar
インポート
docker load < [エクスポートしたファイル名].tar
これで完了します。お手軽ですね。
例:
docker load < image.tar
全imageをエクスポートしたい時
docker images --format
を使ってrepository:tag
の形で渡してあげます。
docker save $(docker images --format "{{.Repository}}:{{.Tag}}") > images.tar
docker images -q
でIDを渡しても良いのですが、loadの際に全てが[none]
となり地獄待ったなしです。
インポートの方法は変わりません。
サクッとできたので、バックアップなど必要になった際は是非お使い下さい。(dockerhubに上げれば良いとか言わない)