Dockerイメージをファイルとして配布する(docker, export コマンド)

Dockerイメージをファイルとして配布する(docker, export コマンド)

ビルドしたDockerイメージを圧縮ファイルとして配りたい場面があると思います。 この場合、docker exportコマンドを使用することで、ビルドしたDockerイメージを圧縮ファイルとして配ることがうできます。

Docker入門 関連記事

解決策:docker exportコマンドを使用する

まずはdocker psでコンテナの一覧を取得する

docker ps -a
CONTAINER ID IMAGE COMMAND CREATED ... NAMES
77d9619a7a71 ubuntu:14.04 "/bin/bash" 10 seconds ago ... high_shockley

ここで、CONTAINER IDが 77d9619a7a71 のコンテナのイメージを圧縮ファイルとして保存、共有したい場合。

次のようにdocker exportコマンドを使用する。

docker export 77d9619a7a71 > update.tar

exportされた圧縮ファイルは、docker importでコンテナイメージを読み込む素材として使える。

docker import - update < update.tar

別解:docker saveコマンドを使用する

docker saveコマンドでもDockerイメージを圧縮ファイルとして保存することができる。

docker save [オプション] <イメージ名>[:<タグ>] -o <アーカイブファイル名>

例えば、myimage:latestの最新のDockerイメージを保存しておきたい場合。

docker save myimage:latest -o myimage.tar

このようなコマンドを入力することで、myimage.tarファイルが作成されます。

圧縮されたファイルを再度読み込むにはdocker loadコマンドを使用します。

docker load < myimage.tar