Dockerイメージのエクスポートとインポート操作

Dockerイメージのエクスポートとインポート操作

基本イメージが以前に構成されていて、これらのイメージが他の場所でも必要な場合はどうなりますか?

回答: 画像のインポートおよびエクスポート機能。

1. 画像の保存

[root@wxtest1607 ~]# docker イメージ
リポジトリ タグ イメージ ID 作成 サイズ
tomcat8 3.0 90457edaf6ff 6時間前 1.036 GB
[root@wxtest1607 lixr]# docker save 9045 > tomcat8-apr.tar
[root@wxtest1607 lixr]# ls -lh
総投与量: 1.2G
-rw-r--r-- 1 ルート ルート 1005M 8月24日 17:42 tomcat8-apr.tar

2. 画像のインポート

現在、CentOS7 サーバーがないので、実用的なアプローチは、まずイメージを削除してからインポートすることです。面倒です!

[root@wxtest1607 lixr]# docker イメージ
リポジトリ タグ イメージ ID 作成 サイズ
tomcat8 3.0 90457edaf6ff 7 時間前 1.036 GB
[root@wxtest1607 lixr]# docker rmi 9045
タグなし: tomcat8:3.0
削除済み: sha256:90457edaf6ff4ce328dd8a3131789c66e6bd89e1ce40096b89dd49d6e9d62bc8
削除済み: sha256:00df1d61992f2d87e7149dffa7afa5907df3296f5775c53e3ee731972e253600
[root@wxtest1607 lixr]# docker イメージ
リポジトリ タグ イメージ ID 作成 サイズ
[root@wxtest1607 lixr]# docker load < tomcat8-apr.tar
60685807648a: レイヤーを読み込んでいます [============================================================>] 442.7 MB/442.7 MB
[root@wxtest1607 lixr]# 年 [> ] 527.7 kB/442.7 MB
[root@wxtest1607 lixr]# docker イメージ
リポジトリ タグ イメージ ID 作成 サイズ
<なし> <なし> 90457edaf6ff 7 時間前 1.036 GB
[root@wxtest1607 lixr]# docker タグ 9045 tomcat8-apr:3.0
[root@wxtest1607 lixr]# 
[root@wxtest1607 lixr]# docker イメージ
リポジトリ タグ イメージ ID 作成 サイズ
tomcat8-apr 3.0 90457edaf6ff 7 時間前 1.036 GB

3. コンテナの輸出

[root@wxtest1607 lixr]# docker ps 
コンテナID イメージ コマンド 作成ステータス ポート名
b91d9ad83efa 9045 "/bin/bash" 18秒前 15秒前 trusting_colden
f680b58163ab aa79 "/bin/bash" 8 時間前 8 時間前 stupefied_mayer
4db6aa9b8278 4052 "mysqld_safe" 21 時間前 21 時間前に起動 8080/tcp, 0.0.0.0:53307->3306/tcp nostalgic_leavitt
7bcfe52af7a0 599d "mysqld_safe" 21 時間前 21 時間前に起動 8080/tcp, 0.0.0.0:53306->3306/tcp sleepy_hodgkin
[root@wxtest1607 lixr]# 
[root@wxtest1607 lixr]# 
[root@wxtest1607 lixr]# docker export b91d9ad83efa > tomcat80824.tar
[root@wxtest1607 lixr]# ls -lh
総投与量: 2.1G
-rw-r--r-- 1 ルート ルート 943M 8月24日 18:37 tomcat80824.tar
-rw-r--r-- 1 ルート ルート 1005M 8月24日 17:42 tomcat8-apr.tar

b91d9ad83efa は、イメージ 90457edaf6ff が起動した後のコンテナです。

イメージによってエクスポートされたファイルは、コンテナによってエクスポートされたファイルよりも大きくなります。

4. コンテナの輸入

[root@wxtest1607 lixr]# docker import tomcat80824.tar
sha256:880fc96a6bb6abdfa949a56d40ef76f32f086fa11024ddcfb4e4e8b22041d5f2
[root@wxtest1607 lixr]# docker イメージ
リポジトリ タグ イメージ ID 作成 サイズ
<なし> <なし> 880fc96a6bb6 6秒前 971.9 MB
[root@wxtest1607 lixr]# docker タグ 880f tomcat80824:1.0
[root@wxtest1607 lixr]# docker イメージ
リポジトリ タグ イメージ ID 作成 サイズ
tomcat80824 1.0 880fc96a6bb6 約1分前 971.9 MB
tomcat8-apr 3.0 90457edaf6ff 8 時間前 1.036 GB

5. イメージとコンテナのエクスポートとインポートの違い

イメージインポートとコンテナインポートの違い:

1) コンテナのインポ​​ートは、現在のコンテナを新しいイメージに変換することです。

2) 画像のインポートはコピープロセスです

保存とエクスポートの違い:

1) 保存は、画像のすべての情報(履歴を含む)を保存します。

2) エクスポートは現在の情報のみをエクスポートします

[root@wxtest1607 lixr]# docker 履歴 880fc96a6bb6
画像作成者 サイズ コメント
880fc96a6bb6 12 分前 971.9 MB インポート元 -
[root@wxtest1607 lixr]# docker 履歴 90457edaf6ff
画像作成者 サイズ コメント
90457edaf6ff 8 時間前 /bin/bash 434.4 MB      
<欠落> 23 時間前 /bin/bash 406.5 MB      
<欠落> 7 週間前 /bin/sh -c #(nop) CMD ["/bin/bash"] 0 B         
<欠落> 7 週間前 /bin/sh -c #(nop) LABEL license=GPLv2 0 B         
<欠落> 7 週間前 /bin/sh -c #(nop) LABEL vendor=CentOS 0 B         
<missing> 7 週間前 /bin/sh -c #(nop) LABEL name=CentOS Base Imag 0 B         
<不足> 7 週間前 /bin/sh -c #(nop) ADD ファイル:b3bdbca0669a03490e 194.6 MB      
<missing> 7 週間前 /bin/sh -c #(nop) MAINTAINER The CentOS Project 0 B

補足:Dockerイメージの詳しい説明

docker imagesはローカルにダウンロードしたイメージを表示するために使用されます

[root@localhost ~]$ docker イメージ
リポジトリ タグ イメージ ID 作成 サイズ
centos 最新 1e1148e4cc2c 2 週間前 202MB
ubuntu 最新 93fd78260bd1 5 週間前 86.2MB
REPOSITORY # 画像リポジトリ TAG # 画像タグ IMAGE ID # 画像 ID
CREATED # 画像作成時間 SIZE # 画像サイズ

上記は私の個人的な経験です。参考になれば幸いです。また、123WORDPRESS.COM を応援していただければ幸いです。間違いや不備な点がありましたら、遠慮なくご指摘ください。

以下もご興味があるかもしれません:
  • Docker イメージ 独自のネイティブ イメージを構築する方法
  • docker イメージ、info、-d およびその他のコマンド エラーの解決策
  • Docker コンテナのカスタム ホストのネットワーク アクセス操作
  • dockerコンテナの再起動後に/etc内の一部の設定ファイルがリセットされる問題を解決します
  • Docker JVM メモリ使用量の表示
  • Docker メモリ監視とストレステストの方法
  • Docker View プロセス、メモリ、カップ消費量

<<:  構造とプレゼンテーションの分離を理解するためのWeb標準の学習

>>:  検証コードケースのjs実装

推薦する

モバイルデバイスでのフリーズ問題に対する CSS3 ソリューション (アニメーション パフォーマンスの最適化)

1. CSS、jQuery、Canvasを使用してアニメーションを作成する1. キャンバス利点: ...

DockerでSpringbootプロジェクトを実行する方法

1. IDEAの下にあるターミナルをクリックし、mvn clean installと入力します。 次...

Webフロントエンドのパフォーマンス最適化

ウェブフロントエンド最適化のベストプラクティス: コンテンツWebフロントエンド最適化のベストプラク...

Docker に influxdb をインストールするための詳細なチュートリアル (パフォーマンス テスト)

1. 前提条件1. プロジェクトが展開されました2. Dockerはすでにインストールされている2...

Vueプロジェクトでコンポーネントをカプセル化する簡単な手順

目次序文Toastコンポーネントをカプセル化する方法ユースケース具体的な実装要約する序文ビジネスが発...

スライダー検証コードを実装するJavaScript

この記事では、スライダー検証コードを実装するためのJavaScriptの具体的なコードを参考までに共...

Node.js における npx コマンドの使用法とシナリオ分析

npx 使用チュートリアル今晩、 Vue-Cli勉強していたところ、ふと最新の@4.xxバージョンを...

MySQL マスタースレーブレプリケーションでエラーをスキップする方法

1. 従来のbinlogマスタースレーブレプリケーション、エラー報告をスキップする方法 mysql&...

Vue の NetEase Cloud Music Player インターフェースを模倣したシンプルな実装プロセス

仕事のプロジェクトのニーズにより、曲の再生が必要となり、さまざまな資料を参考にして、NetEase ...

ウェブデザインにおける装飾要素の応用の概要

<br />序文: このチュートリアルを読む前に、序文を注意深く読んでください。そうしな...

jQueryはショッピングカート機能を実装します

この記事の例では、ショッピングカート機能を実装するためのjQueryの具体的なコードを参考までに共有...

ニューススタイルのウェブサイトデザイン例25選

bmi ボイジャーピッチフォークアルスター食料品店チャウ真/斜めポスタこれは偽のDIYですクリエイテ...

Vueはタブを切り替えてデータの状態を維持する3つの方法を実装します

Vue でタブ切り替えを実装する 3 つの方法1. v-showはコンテンツの切り替えを制御します1...

MySQL 外部キー制約の無効化と有効化コマンド

MySQL 外部キー制約の無効化と有効化: MySQL 外部キー制約が有効になっているかどうかは、グ...