イメージを作成する方法は 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 の詳細な説明
序文MySQL データベースを使用する場合、クライアントはデータベース サーバーにリクエストを送信す...
提案: コードをできるだけ手書きすると、学習の効率と深さを効果的に向上できます。デフォルトでは、&l...
この記事では、接続エラー ECONNREFUSED を例に、Node.js がエラーを処理するプロセ...
目次変数データ型拡張ポイント要約する変数基本的な構文 var age=10; //ageという変数を...
目次1. 短絡や条件文の代わりにデフォルトのパラメータを使用する2. 複数の条件の処理3. スイッチ...
コードをコピーコードは次のとおりです。 li {幅:300px; 高さ:23px; 行の高さ:24p...
目次序文リスナーと計算プロパティの違いvue3 で watch を使用するにはどうすればいいですか?...
I. 厳密モードの説明MySQL 5.0 以降の厳密モード (STRICT_TRANS_TABLES...
Lottie は、Airbnb が開発した iOS、Android、React Native 向けの...
数日前、同僚がポイントモールプロジェクトを受け取りました。このプロジェクトには、カードやクーポンをギ...
MySQL 5.7.21 winx64無料インストールバージョンの設定方法、参考までに、具体的な内容...
序文MySQL の rowid の概念については聞いたことがあるかもしれませんが、テストや実践が難し...
最近のプロジェクトでは、Google ロボット認証を使用する必要があります。これには VPN が必要...
WindowsにMySQLの圧縮バージョンをインストールする方法の詳細については、以下を参照してくだ...
js 実行字句解析フェーズ: 形式パラメータ解析、変数宣言解析、関数宣言解析の 3 つの部分が含まれ...