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

推薦する

入力要素 [type="file"] を使用する場合のスタイルのカスタマイズとブラウザの互換性の問題に関する議論

この2日間、Baixing.comの筆記試験問題を解いているときに、このような問題に遭遇しました。H...

MySQL 5.7.10 インストール ドキュメント チュートリアル

1. 依存パッケージをインストールする yum -y インストール gcc-c++ ncurses-...

K3s 入門ガイド - Docker で K3s を実行するための詳細なチュートリアル

k3dとは何ですか? k3d は、Docker で K3s クラスターを実行するための小さなプログ...

HTMLでのラジオ値の取得、割り当て、登録の詳細な説明

1. ラジオのグループ化名前が同じであれば、それらはグループであり、つまり、次のようにグループ内で選...

MySQL で遅い SQL 文を見つける方法

MySQL で遅い SQL ステートメントを見つけるにはどうすればよいでしょうか?これは、多くの人を...

Virtualbox に Centos7 仮想マシンをインストールする詳細なグラフィック チュートリアル

1. Centos7をダウンロードするダウンロードアドレス: https://mirrors.tun...

MySQLステートメントを監視する方法の詳細な説明

クイックリーディングSQL ステートメントを監視する必要があるのはなぜか、監視方法と監視手段について...

MySQL サービスを起動できない問題の解決策を含む MySQL 5.7.17 インストール チュートリアル

.net 開発に関しては、Microsoft の SQL Server データベースに精通しており、...

MySQL ユーザー権限管理の分析例

この記事では、MySQL ユーザー権限管理の例について説明します。ご参考までに、詳細は以下の通りです...

MySql8.0バージョンに接続するMyBatisの設定問題について

mybatis を学習しているときにエラーが発生しました。エラーの内容は次のとおりです。データベース...

MySQL の悲観的ロックと楽観的ロックの使用例

悲観的ロック悲観的ロックは、データを悲観的であるとみなします。データをクエリするときに、ロックを追加...

データベースクエリ、どのオブジェクトにどのフィールドが含まれているか、メソッドステートメント

データベースは、どのオブジェクトにどのフィールドが含まれているかを照会します。 *を選択 sysob...

Docker で ElasticSearch と Kibana をインストールするためのサンプル コード

1. はじめにElasticsearchは現在非常に人気があり、多くの企業が利用しているため、esを...

JavaScriptの基本的なインタラクションの詳細な説明

目次1. 要素の入手方法文書から入手ID取得クラス名 (className) を取得します。タグ名 ...

MySQL でグループ化した後、各グループの最大値を取得する詳細な例

MySQL でグループ化した後、各グループの最大値を取得する詳細な例1. テストデータベーステーブル...