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つの関数を実装している

推薦する

Navicat for Mysql 接続エラー 1251 (接続失敗) の問題を解決する

以前書いた内容が詳細さに欠けていたため、今回は修正・補足しました。ただし、以前の MySQL バージ...

MySQL 面接でよく聞かれる質問への回答

序文:さまざまな技術職の面接では、MySQL 関連の質問がよくされるようです。開発職の面接でも運用職...

Linux の wget コマンドの詳細な紹介

目次まずwgetをインストールするヘルプマニュアルを見る1. wgetを使用して単一のファイルをダウ...

CSS で複数の境界線を実装するためのヒント

1. 複数の国境[1]背景: ボックスシャドウ、アウトライン使用シナリオの多様性を考慮すると、複数の...

MySQL 8.0.24 リリースノートのいくつかの改善点

目次1. 接続管理2. オプティマイザレベルでの改善3. 機能の改善4. パフォーマンススキーマの最...

MySQL 8.0.12 簡単インストールチュートリアル

この記事では、MySQL 8.0.12のインストールチュートリアルを参考までに紹介します。具体的な内...

JavaScript 開発における標準コミットメッセージの重要性の詳細な説明

目次標準コミットメッセージの重要性コミットするコミットリント依存関係をインストールする.commit...

Mysql5.7 で中国語の文字化けの問題を解決する

MySQL 5.7 を使用すると、Web ターミナル経由でデータベースに中国語の文字を書き込むと文字...

MySQL でのテーブルの作成と削除の詳細な例

テーブル作成コマンドには以下が必要です。 テーブルの名前フィールド名各フィールドを定義します(タイ...

小さな三角形の実装コードを含む CSS ナビゲーション バー メニュー

多くの Web ページにはナビゲーション バーに小さな三角形があり、この機能を実装するのは実は非常に...

複数のドメイン名、ポート、IP仮想ホストに基づくNginx構成

1. タイプの導入1.1 ドメインベースの仮想ホスティングいわゆるドメイン名ベースの仮想ホストとは、...

Docker データ管理 (データ ボリュームとデータ ボリューム コンテナー) の詳細な説明

実稼働環境で Docker を使用する場合、多くの場合、データを複数のコンテナ間で永続化または共有す...

sqlalchemy に基づいて MySQL で追加、削除、変更、クエリ操作を実装する

需要シナリオ:上司は、クロ​​ーラーを使用してMySQLデータベースにデータを書き込んだり更新したり...

MySql テーブル、データベース、シャーディング、パーティショニングの知識ポイントの紹介

1. はじめにデータベース内のデータ量が一定レベルに達すると、システムパフォーマンスのボトルネックを...

Dockerボリュームマウントの実装方法

最も単純な hello world 出力イメージを作成することは最も簡単なスタートですが、実行中のコ...