イメージを作成する方法は 3 つあります。既存のイメージに基づいてコンテナを作成する、ローカル テンプレートからインポートする、Dockerfile に基づいて作成する、です。このブログ投稿では、最初の 2 つについて説明します。 既存のイメージに基づいてコンテナを作成する 方法は docker commit コマンドを使用するもので、コマンドの形式は次のとおりです。 docker commit [オプション] コンテナ [リポジトリ[:タグ]] 主なパラメータ オプションは次のとおりです。
たとえば、まず bash を実行する ubuntu コンテナを作成します。 docker run –it ubuntu /bin/bash root@d8990fec2141:/# タッチテスト root@d8990fec2141:/# 終了 次に、作成したコンテナに基づいて新しいイメージを送信します。送信にはコンテナ ID が必要です。 docker commit –m “test” –a “zmc” d8990fec2141 テストイメージ 成功した場合、新しいイメージの長い ID 番号が返され、既存のイメージをローカルで確認できます。 Docker イメージ リポジトリ タグ イメージ ID 作成 仮想サイズ testimage 最新 baea98d5a437 約 1 分前 188.3 MB … 3 行目は、作成したばかりの画像です。 PS: このコンテナを使用して作成されたイメージ ID は、このコンテナのイメージ ID と異なるため、同じイメージではないことがわかります。 ローカルテンプレートに基づいてインポート OpenVZ が提供するテンプレートなどを使用して、オペレーティング システムのテンプレート ファイルからイメージをインポートすることもできます。OPENVZ のダウンロード テンプレートは、http://openvz.org/Download/template/precreated にあります。 Ubuntu 14.04 のテンプレートを使用してみました: http://download.openvz.org/template/precreated/ubuntu-14.04-x86_64-minimal.tar.gz をダウンロードしてください ダウンロード後、インポートできます: sudo cat ubuntu–14.04–x86_64–minimal.tar.gz | docker import – ubuntu:14.04 コマンドは 2 つだけですが、非常に明白なので説明しません。成功した場合、テンプレートに基づいて作成された画像の長いIDを返します。 sudo cat ubuntu–14.04–x86_64–minimal.tar.gz | docker import – ubuntu:14.04 ab80404d13d580965b9919b640169ccb585ea7884e6aa9de1ec043075c65fe35 次に、ローカルイメージを表示します。 Docker イメージ リポジトリ タグ イメージ ID 作成 仮想サイズ ubuntu 14.04 ab80404d13d5 56 秒前 215.4 MB testimage 最新 baea98d5a437 29 分前 188.3 MB ……。 実際、テンプレートは 75M しかありませんが、作成された画像は小さくないことがわかります。 画像の保存と読み込み docker save コマンドと docker コマンドを使用して、イメージを保存および読み込むことができます。 画像を保存する イメージをローカル ファイルに保存する場合は、docker save コマンドを使用できます。たとえば、作成したローカルの testimage:lastest ファイルをイメージ ファイル testimage.tar として保存します。 Docker イメージ リポジトリ タグ イメージ ID 作成 仮想サイズ testimage 最新 baea98d5a437 25 分前 188.3 MB ubuntu 最新 fa81ed084842 3日前 188.3 MB ……。 docker save –o /data/testimage.tar testimage:latest 上記6行目はコードを保存するものです。このとき、/dataの下にtestimage.tarファイルがあります。このとき、ローカルイメージをrmiしてロードしてみます。 画像を読み込んでいます 画像削除後のステータス: ubuntu@VM–223–238–ubuntu:/data$ docker rmi baea98d5a437 タグなし: testimage:latest 削除済み: baea98d5a4371a6abf9efc8c53a54a6fc5befd167bf91ce9fd4a28a6d1b7dc5b ubuntu@VM–223–238–ubuntu:/data$ docker イメージ リポジトリ タグ イメージ ID 作成 仮想サイズ ubuntu 14.04 ab80404d13d5 5分前 215.4 MB 次に、画像を読み込みます。 docker load --input testimage.tar Docker イメージ リポジトリ タグ イメージ ID 作成 仮想サイズ ubuntu 14.04 ab80404d13d5 6分前 215.4 MB testimage 最新 baea98d5a437 35 分前 188.3 MB 最初の行は画像を読み込むもので、次のように簡略化できます。 docker load --input testimage.tar Docker イメージ リポジトリ タグ イメージ ID 作成 仮想サイズ ubuntu 14.04 ab80404d13d5 6分前 215.4 MB testimage 最新 baea98d5a437 35 分前 188.3 MB 読み込み操作により、画像と関連するメタデータ情報 (タグなどを含む) がインポートされます。 画像アップロード 最後に、イメージのアップロードについて説明します。イメージの管理方法は git と非常に似ています。docker push コマンドを使用して、ローカルイメージをウェアハウスにアップロードできます。デフォルトでは、DockerHub 公式ウェアハウス (ログインが必要) にアップロードされます。コマンドの形式は次のとおりです。 docker push 名前[:タグ] アップロードする前に、通常は画像に自分の名前(著者情報)のタグを追加します。 docker タグ testimage:lastest zmc/testimage:lastest docker pushzmc/testimage:最新 アップロード後に区別するのに役立ちます。 運用保守チーム、開発チーム、研究室のいずれであっても、ニーズに合った環境やシステムイメージを保存し、迅速な展開を実現するために、独自の Docker リポジトリを持つことは必要だと思います。 以上がこの記事の全内容です。皆様の勉強のお役に立てれば幸いです。また、123WORDPRESS.COM を応援していただければ幸いです。 以下もご興味があるかもしれません:
|
<<: MySQL におけるユニーク制約と NULL の詳細な説明
最近、あるプロジェクトに取り組んでいたとき、ページに透かし効果を追加するように依頼されました。さっそ...
Tomcat は Web コンテナとして広く知られています。Java を学び始めたときから現在の仕事...
<label> タグは、入力要素のラベル (タグ) を定義します。ラベル要素はユーザーに...
最近、毎日変更されるページを iframe を使用して呼び出す必要があるプロジェクトがあります。その...
これらはすべて海外のE-WebTemplates WebサイトからのWebページテンプレートであり、...
MySQL では、REVOKE ステートメントを使用してユーザーの特定の権限を削除できます (ユーザ...
リクエストロジックフロントエンド --> https経由でnginxをリクエストnginx -...
トランザクションは、複数の SQL ステートメントの原子性、つまり、それらが一緒に完了するか、一緒に...
目次シンプルな CASEWHEN 関数:これは、CASEWHEN 条件式関数を使用するのと同じです。...
最近、nginx-ingress-controller のアプリケーションについて説明した公開アカウ...
1. はじめにロケーション命令は、http モジュールのコア構成です。事前に定義された URL マッ...
ネットワークの高可用性を実現するには、複数のネットワーク カードを仮想ネットワーク カードにバインド...
require メソッドの読み込みルールキャッシュからの読み込みを優先するコアモジュールパス形式のモ...
注意事項1. まず、mysql インストール ディレクトリに次の内容の my.ini ファイルを作成...
達成される効果は、固定ズームが 2 倍になり、マウスが左側の画像領域に入るとマスク レイヤーが表示さ...