Docker イメージ管理の一般的な操作コード例

Docker イメージ管理の一般的な操作コード例

ミラーリングも Docker のコアコンポーネントの 1 つです。ミラーリングはコンテナ操作の基盤であり、コンテナは操作後のミラーリングの形式です。一般的に、イメージとは、プログラムの実行に必要な環境とコードを含む読み取り専用ファイルです。階層化ファイル システムを使用して、読み取り/書き込みレイヤーの形式で各レイヤーに変更を加え、元の読み取り専用ファイルに書き込みます。

画像とコンテナの関係

前回の記事では、読者にコンテナの使い方を紹介しました。注意深い読者は、コンテナを起動または作成するときに、ミラー名または ID を指定する必要があることに気付いたかもしれません。実際、このときにミラーが果たす役割は、コンテナのテンプレートです。異なるミラーは、異なるコンテナを構築できます。次のコマンド:

docker run -itd --name nginx nginx

コマンドの最後の nginx は、コンテナの作成に必要なテンプレートを示します。

ミラーアーキテクチャ

イメージの最下層はブートファイルシステム(bootfs)イメージです。bootfs の上層はルートイメージと呼ばれます。一般的に、ルートイメージは Ubuntu、CentOS などのオペレーティングシステムです。ユーザーのイメージはルートイメージ上に構築する必要があります。ルートイメージの上に、ユーザーはさまざまな他のイメージを構築できます。上記の紹介から、ミラーの本質は実際にはファイルのコレクションであり、レイヤーごとの構造は Git に多少似ていることがわかります。

ミラーリングのためのコピーオンライトメカニズム

docker run コマンドでコンテナを指定してイメージを作成すると、実際にはイメージ上に空の読み取りおよび書き込み可能なファイル システム階層が作成されます。このファイル システム階層は一時イメージとして扱うことができ、コマンドで参照されるテンプレート イメージは親イメージと呼ぶことができます。親イメージの内容は読み取り専用モードでマウントされます。コンテナーは共有された親イメージの内容を読み取ります。ユーザーによるすべての変更はファイル システム内に保存され、親イメージには影響しません。もちろん、ユーザーは他の手段を使用して、変更を親イメージに永続的に保存することもできます。これについては後で詳しく説明します。

チェック

Docker イメージ

ユーザーはdocker imagesコマンドを通じてすべてのローカルイメージを表示できます。


ここには 5 つのパラメータがあります。

1.リポジトリ

ウェアハウス名。ウェアハウスは通常、同じタイプのイメージを保存するために使用されます。ウェアハウスの名前は作成者によって指定されます。指定されていない場合は、 .一般的に、倉庫名には以下のようなさまざまな形式があります。

  • [namespace\ubuntu]: このリポジトリ名は、\ で区切られた名前空間と実際のリポジトリ名で構成されます。開発者が Docker Hub でユーザーを作成すると、ユーザー名がデフォルトの名前空間になります。この名前空間は、Docker Hub に登録されているさまざまなユーザーまたは組織を区別するために使用されます (GitHub でのユーザー名の役割に似ています)。読者が自分のイメージを Docker Hub にアップロードして他の人が使用できるようにするには、名前空間を指定する必要があります。
  • [ubuntu]: このタイプのリポジトリにはリポジトリ名のみがあります。名前空間のないこのタイプのリポジトリ名の場合、最上位の名前空間に属していると考えられます。この空間のリポジトリは公式イメージにのみ使用され、Docker 担当者によって管理されますが、一般的には開発とメンテナンスのためにサードパーティに許可されています。もちろん、ユーザーは自分で作成したイメージにもこの命名方法を使用できますが、共有のために Docker Hub にアップロードすることはできません。
  • [hub.c.163.com/library/nginx]: この URL パス指定方法は、一般的に Docker Hub 上にないイメージに名前を付ける場合に使用されます。たとえば、サードパーティのサービス プロバイダーによって提供されるイメージや、開発者自身が構築したイメージ センターはすべてこの方法で名前を付けることができます。

2.TAGは同じリポジトリの異なるイメージを区別するために使用され、デフォルトは最新です

3.画像IDは画像の一意の識別子です

4.CREATED 画像の作成時刻

5.SIZEは画像サイズを示します

すべてのローカル イメージを表示するには、docker images コマンドを使用します。イメージが多すぎる場合は、次のようにワイルドカードを使用して一致させることができます。


イメージの詳細情報を表示する必要がある場合は、上記のdockerinspectコマンドを使用してダウンロードを表示することもできます。

ユーザーが docker run コマンドを実行すると、Docker Hub から関連するイメージが自動的にダウンロードされます。これについては再度説明しません。開発者は、次のように search コマンドを使用して、Docker Hub で要件を満たすイメージを検索することもできます。


で:

  • NAME: 画像の名前を示します
  • 説明: 画像の簡単な説明。
  • 星: 画像に対するユーザーの評価を示します。評価が高いほど、安全に使用できます。
  • OFFICIAL: 公式画像ですか?
  • AUTOMATED: 自動ビルドを使用するかどうか

docker run コマンドを実行した後のダウンロード速度は少し遅くなります。コマンドを早く実行したい場合は、docker pull コマンドを使用して実行前にイメージをダウンロードしてから実行することができます。


次のようにコマンドを実行します。

消去

イメージは docker rmi コマンドで削除できます。パラメータはイメージ ID またはイメージ名です。次のように、スペースで区切られた複数のパラメータを指定できます。

場合によっては、イメージを削除できないことがあります。ほとんどの場合、これはイメージがコンテナに依存しているためです。この場合、まずコンテナを削除してから、イメージを削除する必要があります。

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

以下もご興味があるかもしれません:
  • .NETCore Dockerはコンテナ化とプライベートイメージリポジトリ管理を実装します
  • Docker プライベートリポジトリの管理とローカルリポジトリ内のイメージの削除
  • Dockerのローカルイメージ作成方法の分析
  • Tomcat イメージをインストールして Docker に Web プロジェクトをデプロイする方法を簡単に説明します。
  • Spring Boot パッケージング Docker イメージの最もシンプルな実装
  • Spring Boot プロジェクトで Docker イメージを生成し、コンテナのデプロイを完了する方法
  • Docker イメージ + nginx を使用して Vue プロジェクトをデプロイする方法
  • Dockerイメージを素早くデプロイして実行する最新のIDEAプロセスの詳細な説明
  • DockerHubイメージリポジトリの使い方の詳しい説明

<<:  JavaScript でモバイル モーダル ボックスの効果を実現

>>:  Mysqlはフィールドスプライシングのための3つの関数を実装している

推薦する

流れと動的なライン効果を実現する純粋なCSSコード

アイデア:外側のボックスは背景を設定し、内側のボックスは背景の幅と高さを設定し、ボックスを動かすアニ...

最も完全なpackage.json分析

目次1. 概要2. 名前フィールド3. バージョンフィールド4. 説明フィールド5. キーワードフィ...

VMware Esxi のルート パスワードを忘れた後に正常に取得する方法

CentOS6 インストール ディスク (任意のバージョン) を準備するか、別の pnux インスト...

vscodeカスタムvueテンプレートの実装

vscode エディタを使用して vue テンプレートを作成すると、新しい vue ファイルを作成す...

MySQLデータベースのタイムアウト設定を構成する方法の例

目次序文1. JDBCタイムアウト設定2. 接続プールのタイムアウト設定3. MyBatisクエリの...

Docker インストール tomcat dubbo-admin インスタンス スキル

1. tomcatイメージをダウンロードする docker pull tomcat:8.5.29 2...

LeetCode の SQL 実装 (181. 従業員は管理職よりも収入が高い)

[LeetCode] 181.従業員の収入が管理職よりも多い従業員テーブルには、マネージャーを含む...

フロントエンドJavaScript ES6の詳細について

目次1. はじめに1.1 Babel トランスコーダ1.2 ポリフィル2. let と const ...

ドラッグ効果を実現するための js オブジェクト指向メソッド

この記事では、ドラッグアンドドロップをJSオブジェクト指向で実装するための具体的なコードを参考までに...

MySQLデータベースのマスタースレーブレプリケーションと読み取り書き込み分離に関する詳細なチュートリアル

目次序文1. MySQL マスタースレーブレプリケーション1. サポートされているレプリケーションの...

VUEウォッチリスナーの基本的な使い方の詳しい説明

目次1. 次のコードはwatchの簡単な使用法です2. 即時監視3. ハンドラメソッド4. 深い属性...

VMware 仮想マシンのインストール Linux システムのグラフィック チュートリアル

この記事では、LinuxシステムのVMwareインストールの具体的な手順を参考までに紹介します。具体...

Linux コマンドを使用してオーディオ形式を変換および結合する方法

FFmpeg flacをインストールする eric@ray:~$ sudo apt install ...

html リンク タグ タイトル属性 改行 マウス ホバー プロンプト コンテンツ 改行効果

オブジェクト上にマウスを移動したときにコンテンツ(タイトル属性の内容)を折り返す方法、HTML タイ...