Dockerイメージをインポートおよびエクスポートする方法

Dockerイメージをインポートおよびエクスポートする方法

この記事では、移行、バックアップ、アップグレードなどのシナリオで使用される Docker イメージのインポートとエクスポートを紹介します。環境は次のように準備します。

  • セントOS7.0
  • ドッカー 1.18

インポートおよびエクスポート コマンドの概要

関連するコマンドはエクスポート、インポート、保存、ロードです

保存

注文

docker save [options] images [images...]

這里寫圖片描述

docker save -o nginx.tar nginx:latest
または
docker save > nginx.tar nginx:latest

-o および > 文字はファイルへの出力を示し、 nginx.tarはターゲット ファイル、 nginx:latestソース イメージ名 (名前:タグ) です。

負荷

注文
docker load [options]

這里寫圖片描述

docker load -i nginx.tar
または
docker load < nginx.tar

-i と < はファイルからの入力を示します。画像とタグ情報を含む関連メタデータが正常にインポートされます

輸出

注文
docker export [options] container

這里寫圖片描述


docker export -o nginx-test.tar nginx-test
-o はファイルへの出力を意味し、 nginx-test.tarはターゲットファイル、 nginx-testはソースコンテナ名 (name) です。

輸入

注文
docker import [options] file|URL|- [REPOSITORY[:TAG]]

這里寫圖片描述


docker import nginx-test.tar nginx:imp
または
cat nginx-test.tar | docker import - nginx:imp

違いは、export コマンドによってエクスポートされた tar ファイルは、save コマンドによってエクスポートされた tar ファイルよりもわずかに小さいことです。

這里寫圖片描述

export コマンドはコンテナから tar ファイルをエクスポートし、save コマンドはイメージからエクスポートします。

2 点目に基づいて、エクスポートされたファイルをインポートし直すと、イメージの履歴全体 (つまり、各レイヤーの情報。詳しくない場合は、Dockerfile を参照してください) が保持されず、ロールバック操作を実行できません。保存はイメージに基づいて行われるため、インポート時に各レイヤーの情報が完全に保持されます。次の図に示すように、 nginx:latest save でエクスポートされ、load でインポートされますnginx:impは export でエクスポートされ、import でインポートされます。

這里寫圖片描述

提案

特定の使用シナリオに基づいてコマンドを選択できます

画像をバックアップするだけの場合は、保存と読み込みを使用します。

コンテナの起動後にコンテナの内容が変更され、バックアップが必要な場合は、エクスポートとインポートを使用します。

以上がこの記事の全内容です。皆様の勉強のお役に立てれば幸いです。また、123WORDPRESS.COM を応援していただければ幸いです。

以下もご興味があるかもしれません:
  • Dockerイメージとコンテナのインポ​​ートとエクスポート操作の実践
  • Docker イメージのインポートとエクスポートのコード例
  • Dockerイメージのインポートとエクスポートの実装
  • Dockerイメージのインポート、エクスポート、バックアップ、移行操作
  • Docker イメージのエクスポート、インポート、コピーの例の分析
  • Docker間でイメージをエクスポートおよびインポートする方法
  • Docker イメージのインポートとエクスポートのプロセスの概要

<<:  Vueモバイル端末は左スライド編集と削除の全プロセスを実現します

>>:  MongoDBのパフォーマンスを向上させる方法

推薦する

HTML 選択ボックスのプレースホルダーの作成に関する問題

テキスト入力でプレースホルダーを使用していますが、問題なく動作します。しかし、選択ボックスにはプレー...

Linux での scp および sftp コマンドの詳細な説明

目次序文1. SCPの使用法2. sftpを使用する3. scp と sftp の違いは何ですか?ど...

nginx プロキシ サーバーで双方向証明書検証を構成する方法

証明書チェーンを生成するスクリプトを使用して、ルート証明書、中間証明書、および 3 つのクライアント...

JSはじゃんけんゲームを実装します

この記事の例では、じゃんけんゲームを実装するためのJSの具体的なコードを参考までに共有しています。具...

jQueryはフォーム検証機能を実装します

jQuery フォーム検証の例 / ユーザー名、パスワード、住所、電子メールの検証を含む下記の通り ...

JS を使用してデータ型を決定する 4 つの方法

目次序文1. 型2. インスタンス3. コンストラクター詳細: 4. 文字列要約する序文Javasc...

MySQLのデッドロックチェック処理の通常の方法

通常、デッドロックが発生すると、重みが最も小さい接続が強制終了され、ロールバックされます。ただし、最...

MySQLのユーザー管理とPostgreSQLのユーザー管理の違い

1. MySQL ユーザー管理[例1.1] ローカルMySQLサーバーのテストデータベースにroot...

Navicat Premium15 でクラウド サーバーに接続する際のデータベースの問題と落とし穴

クラウドサーバーを使用するとデータベースに接続できる場合もありますが、Navicat Premium...

MySQLデータベースでコマンドを自動補完する3つの方法

注意: 3 番目の方法は XSell でのみ使用され、finalsell では使用できません。方法1...

CSS3で実装された炎のアニメーション

成果を達成する実装コードhtml <div class="コンテナ">...

MySQLコマンドラインでSQLファイルを実行するいくつかの方法

目次最初の方法: MySQLデータベースが接続されていない場合2 番目の方法: データベースがすでに...

あなたを救うために、私のテーブルは何を使えばいいでしょうか (Haiyu Blog)

テーブルはかつて、Web ページの開発、つまりレイアウトにおいて非常に重要な役割を果たしていました。...

MySQLでユーザーを作成し、ユーザーに権限を付与する方法の詳細なチュートリアル

目次ユーザー管理新しいユーザーを作成するユーザー名の変更ユーザーのパスワードを設定するルートパスワー...