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

推薦する

H5レイアウト実装手順における天井と底部の吸引を解決するための純粋なCSS

どのような製品について言及したいですか?最近、ユーザーがマーケティングの変化をよりよく観察できるよう...

Win10+Ubuntu 20.04 LTS デュアル システム インストール (UEFI + GPT) (画像とテキスト、複数の画像には注意)

Win10 のインストール (すでにインストールされている場合はスキップしてください) win10...

Hbase 入門

1. HBaseの概要1.1 HBaseとはHBase は、高い信頼性、高いパフォーマンス、列ストレ...

一般的な HTTP ステータス コード 10 個の詳細な説明

HTTP ステータス コードは、Web サーバーの HTTP 応答ステータスを示すために使用される ...

単一/複数行テキストを含む div を垂直方向に中央揃えする N 通りの方法 (高さ不明/高さ固定)

この問題について話すとき、垂直方向の中央揃えを設定するための vertical-align 属性が ...

DockerコンテナがSongtiなどのフォントを認識しない場合の解決策

問題の背景: docker を使用してプロジェクトをデプロイする場合、プロジェクト内で印刷コントロー...

Windows に mysql5.7.28 winx64 の解凍バージョンをインストールするための詳細なチュートリアル

目次1. 解凍する2. データフォルダを作成する3. MySQLに環境変数を追加する3.1 コントロ...

キャッシュサーバーを構築するためのMemcached方式

序文多くの Web アプリケーションは、リレーショナル データベース管理システム (RDBMS) に...

HTMLタグの書き方でよくある間違い

注意を払う必要があります。HTML Police がコードを調べて、意味のないタグをすべて見つけ出す...

Tomcatを使用して共有ライブラリを設定し、同じjarを共有する

デプロイされるプロジェクトが増えるにつれて、Tomcat にデプロイされるリリース パッケージも増え...

Mysql の遅いクエリ操作の概要

MySQL の遅いクエリの説明MySQL スロー クエリ ログは、MySQL が提供するログ レコー...

CSS3アニメーションを使用した簡単な指クリックアニメーションの実装例

この記事では主に、CSS3 アニメーションで簡単な指クリックアニメーションを実装する例を紹介し、皆さ...

JSはオンラインでのアナウンスのスクロール効果を実現します

この記事では、オンラインアナウンスのスクロール効果を実現するためのJSの具体的なコードを参考までに共...

MySQL の接続数が多すぎるエラーの原因と解決策

目次概要本日正午、開発およびテスト環境の MySQL サービスで接続数が多すぎるというエラーが報告さ...

ウェブサイトのデザイン体験のための7つの異なるカラースキーム

ウェブサイト構築におけるカラーマッチングは非常に特殊であり、ウェブサイトのテーマ、感情、雰囲気などの...