Docker import コマンド
docker importこのコマンドは、tarファイルまたはURLからコンテナスナップショットをインポートし、新しいDockerイメージを作成するために使用されます。
とdocker load異なり、docker importコンテナスナップショットから新しいイメージを作成でき、イメージの履歴やメタデータを保持する必要はありません。
構文
docker import [OPTIONS] file|URL|- [REPOSITORY[:TAG]]
file|URL|-: 入力ファイルのパス、ローカルファイル、またはURL、あるいは-標準入力から読み取ります。[REPOSITORY[:TAG]]: (オプション)インポートしたイメージにリポジトリとタグを指定します。
OPTIONS 説明:
-c, --change: インポート中にDockerfile命令を適用します。例:CMD、ENTRYPOINT、ENVなど。-m, --message: インポートしたイメージにコメントを追加します。
1、ローカルtarファイルからイメージをインポート
docker import mycontainer.tar mynewimage:latest
これにより、mycontainer.tar ファイルからイメージがインポートされ、mynewimage:latest という名前が付けられます。
2、URLからイメージをインポート
docker import http://example.com/mycontainer.tar mynewimage:latest
これにより、指定されたURLからイメージがインポートされ、mynewimage:latest という名前が付けられます。
3、標準入力からイメージをインポート
cat mycontainer.tar | docker import - mynewimage:latest
これにより、パイプを使用して標準入力からtarファイルを読み取り、イメージをインポートします。
4、インポート中に変更を適用
docker import -c "ENV LANG=en_US.UTF-8" -c "CMD /bin/bash" mycontainer.tar mynewimage:latest
これにより、mycontainer.tar からイメージをインポートし、その過程で環境変数LANGとコマンドCMDを設定します。
例
1、コンテナスナップショットのエクスポート
まず、コンテナを作成して実行します:
docker run -d --name mycontainer ubuntu:20.04 sleep 3600
コンテナスナップショットのエクスポート:
docker export mycontainer -o mycontainer.tar
2、コンテナスナップショットのインポート
tarファイルからイメージをインポート:
docker import mycontainer.tar mynewimage:latest
3、インポートしたイメージの検証
docker images
出力例:
REPOSITORY TAG IMAGE ID CREATED SIZE mynewimage latest 123abc456def 1 minute ago 72.9MB
4、インポートしたイメージの実行
docker run -it mynewimage:latest /bin/bash
注意事項
docker import作成されたイメージは、元のイメージの履歴とメタデータを保持しません。- 使用
-cオプションは、インポート中にDockerfile命令を適用して、新しいイメージの構成をカスタマイズできます。 - インポートするtarファイルは、
docker export使用して作成されたコンテナスナップショット、または互換性のある他の形式である必要があります。
docker importコマンドは、コンテナスナップショットから新しいイメージを作成する柔軟な方法であり、移行、復元、Dockerイメージのカスタマイズなどのシナリオに適しています。を使用することでdocker import、ユーザーはコンテナスナップショットから新しいイメージを簡単に生成し、インポート中に追加の構成を適用できます。
その他の拡張
Docker コマンド大全