3.2. コンテナーおよびイメージ


3.2.1. コンテナー

OpenShift Online アプリケーションの基本的な単位はコンテナーと呼ばれています。Linux コンテナーテクノロジーは、指定されたリソースのみとの対話に制限されるように、実行中のプロセスを分離する軽量なメカニズムです。

数多くのアプリケーションインスタンスは、相互のプロセス、ファイル、ネットワークなどを可視化せずに単一ホストのコンテナーで実行される可能性があります。通常、コンテナーは任意のワークロードに使用されますが、各コンテナーは Web サーバーまたはデータベースなどの (通常は「マイクロサービス」と呼ばれることの多い) 単一サービスを提供します。

Linux カーネルは数年にわたりコンテナーテクノロジーの各種機能を統合してきました。最近では、Docker プロジェクトはホストで Linux コンテナーの便利な管理インターフェースを開発しました。OpenShift Online および Kubernetes は複数ホストのインストール間で Docker 形式のコンテナーのオーケストレーションを実行する機能を追加しています。

OpenShift Online の使用時に Docker CLI と直接対話することはないものの、それらの機能および用語を理解しておくことは、OpenShift Online のロールやアプリケーションのコンテナー内での機能を理解する上で重要です。docker RPM は RHEL 7、CentOS および Fedora の一部として利用できるため、これを OpenShift Online とは別に実験的に使用することができます。ガイド付きの情報については、『Get Started with Docker Formatted Container Images on Red Hat Systems』という記事を参照してください。

3.2.2. イメージ

OpenShift Online のコンテナーは Docker 形式のコンテナーのイメージをベースにしています。イメージは、単一コンテナーを実行するためのすべての要件、およびそのニーズおよび機能を記述するメタデータを含むバイナリーです。

これはパッケージ化テクノロジーとして考えることができます。コンテナーには、作成時にコンテナーに追加のアクセスを付与しない限り、イメージで定義されるリソースにのみアクセスできます。同じイメージを複数のホストにまたがって複数のコンテナーにデプロイし、それらの間で負荷を分散することにより、OpenShift Online はイメージにパッケージ化されたサービスの冗長性および水平的なスケーリングを提供できます。

Docker CLI を直接使用してイメージをビルドすることができますが、OpenShift Online はコードおよび設定を既存イメージに追加して新規イメージの作成を支援するビルダーイメージも提供します。

アプリケーションは一定期間をかけて開発されるため、単一のイメージ名が同じイメージの数多くの異なるバージョンを参照する場合があります。異なるイメージはそれぞれ、そのハッシュ (長い 16 進数、例: fd44297e2ddb050ec4f…​) で一意に参照され、通常は 12 文字 (例: fd44297e2ddb) に短縮されます。

イメージバージョンタグポリシー

バージョン番号ではなく、Docker サービスはタグ (v1v2.1GA、またはデフォルト latest) を必要なイメージを指定するためのイメージ名に追加して適用するため、同じイメージが centos (これは latest タグを意味します)、centos:centos7、または fd44297e2ddb として参照される場合があります。

警告

公式の OpenShift Online イメージには latest タグを使用しないでください。これらは openshift3/ 以降のイメージであり、latest3.4、または 3.5 などの数多くのバージョンを参照する可能性があります。

イメージへのタグの付け方は更新ポリシーを定めます。より具体的なタグを使用すると、イメージが更新される頻度は低くなります。以下を使用して選択した OpenShift Container Online イメージポリシーを決定します。

vX.Y
vX.Y タグは X.Y.Z-<number> を参照します。たとえば、registry-console イメージが v3.4 に更新されると、これは最新の 3.4.Z-<number> タグを参照します (例: 3.4.1-8)。
X.Y.Z
上記の vX.Y サンプルと同様に、X.Y.Z タグは最新の X.Y.Z-<number> を参照します。たとえば、3.4.1 は 3.4.1-8 を参照します。
X.Y.Z-<number>
タグは一意であり、変更されません。このタグを使用する際、イメージが更新される際にイメージはタグを更新しません。たとえば、イメージが更新される場合でも、3.4.1-8 は 3.4.1-8 を常に参照します。

3.2.3. コンテナーレジストリー

コンテナーレジストリーは Docker 形式のコンテナーイメージの保存および取得を行うサービスです。レジストリーには、1 つ以上のイメージリポジトリーのコレクションが含まれます。それぞれのイメージレジストリーには、1 つ以上のタグ付けされたイメージが含まれます。Docker は独自のレジストリーである Docker Hub を提供しますが、プライベートまたはサードパーティーのレジストリーを使用することもできます。Red Hat は、サブスクリプションをお持ちのお客様に対して registry.access.redhat.com でレジストリーを提供しています。また、OpenShift Online はカスタムコンテナーイメージを管理するための独自の内部レジストリーも提供しています。

以下の図では、コンテナー、イメージ、およびレジストリー間の関係が描写されています。

Docker Diagram
Red Hat logoGithubRedditYoutubeTwitter

詳細情報

試用、購入および販売

コミュニティー

Red Hat ドキュメントについて

Red Hat をお使いのお客様が、信頼できるコンテンツが含まれている製品やサービスを活用することで、イノベーションを行い、目標を達成できるようにします。

多様性を受け入れるオープンソースの強化

Red Hat では、コード、ドキュメント、Web プロパティーにおける配慮に欠ける用語の置き換えに取り組んでいます。このような変更は、段階的に実施される予定です。詳細情報: Red Hat ブログ.

会社概要

Red Hat は、企業がコアとなるデータセンターからネットワークエッジに至るまで、各種プラットフォームや環境全体で作業を簡素化できるように、強化されたソリューションを提供しています。

© 2024 Red Hat, Inc.