まず、docker save と docker export についてそれぞれ説明しましょう。
docker save
docker のコマンド ライン インターフェイスの設計は次のとおりです。非常にエレガントで、最後に --help を追加すると、多くのコマンドのヘルプを直接表示できます。
docker save のヘルプは次のとおりです:
>docker save --help Usage: docker save [OPTIONS] IMAGE [IMAGE...] Save one or more images to a tar archive (streamed to STDOUT by default) Options: --help Print usage -o, --output string Write to a file, instead of STDOUT
コマンド ライン ヘルプからわかるように、docker save は 1 つ以上のイメージをパッケージ化して保存するために使用されるツールです。
たとえば、postgres と mongo をミラー ライブラリにパッケージ化したい場合は、次のように実行できます:
docker save -o images.tar postgres:9.6 mongo:3.4
パッケージ化されたimages.tarには、postgres:9.6とmongo:3.4の2つのイメージが含まれています。 。
コマンド ライン パラメーターではイメージを指定する必要がありますが、コンテナーは実際にパッケージ化できます。例:
>docker ps CONTAINER ID IMAGE COMMAND CREATED STATUS PORTS NAMES 3623943d369f postgres:9.6 "docker-entrypoint..." 3 hours ago Up 3 hours 5432/tcp postgres >docker save -o b.tar postgres >docker save -o c.tar postgres:9.6 >ls -al -rwxrwxrwx 1 root root 277886464 8月 26 14:40 b.tar -rwxrwxrwx 1 root root 277886464 8月 26 14:41 c.tar
上記のコマンドからわかるように、b.tar と c。 tar はまったく同じです。これは、docker save がコンテナを指定した場合、docker save はコンテナの背後にイメージを保存することを示しています。
dockerload を使用してパッケージ化されたイメージをロードします (例:
docker load -i images.tar
上記のコマンドは、postgres:9.6 と mongo:3.4 をロードします。ローカル イメージ ライブラリにこれら 2 つのイメージがすでに存在する場合)そして上書きされます。
docker save のアプリケーション シナリオは、アプリケーションが docker-compose.yml を使用して配置された複数のイメージの組み合わせであるが、デプロイするクライアント サーバーが外部ネットワークに接続できない場合です。現時点では、 docker save を使用して使用するイメージをパッケージ化し、それをクライアント サーバーにコピーし、 docker load を使用してロードできます。
dockerexport
いつものように、dockerexport のヘルプを確認してください:
>docker export --help Usage: docker export [OPTIONS] CONTAINER Export a container's filesystem as a tar archive Options: --help Print usage -o, --output string Write to a file, instead of STDOUT
ヘルプからわかるように、dockerexport は次の目的で使用されます。コンテナ ファイルを変換する システムはパッケージ化されています。例:
docker export -o postgres-export.tar postgres
docker import はコンテナを指定する必要があり、docker save のようにイメージやコンテナを指定することはできません。
docker import を使用してパッケージ化されたコンテナをロードします。例:
docker import postgres-export.tar postgres:latest
上記のコマンドからわかるように、docker import はコンテナのインポート後にイメージになり、[復元先] ではありません。コンテナ。
もう 1 つのポイントは、docker import では IMAGE[:TAG] を指定できることです。これは、イメージの新しい名前を指定できることを意味します。同じ名前のイメージがローカル イメージ ライブラリにすでに存在する場合、元のイメージの名前が削除され、新しいイメージに割り当てられます。元のイメージはゴーストとなり、IMAGE ID でのみ操作できます。
docker エクスポートの応用シナリオは、主に基本的なイメージを作成するために使用されます。たとえば、ubuntu イメージからコンテナーを起動し、ソフトウェアをインストールしていくつかの設定を行い、それを docker エクスポートを使用して保存します。基本的なイメージとして。次に、このイメージを他の人に配布して、基本的な開発環境などに使用します。
docker save と docker export の違い
docker save はイメージ (image) を保存し、docker export はコンテナ (container) を保存します。 ;
以上がdocker save と docker export の違いは何ですか?の詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。