web-dev-qa-db-ja.com

dockerはopenshiftと比較してどうですか?

DockerOpenShift は、どちらもPaaSサービスを実装するためのフレームワークです。

アーキテクチャと機能をどのように比較しますか?

61
w00t

主な違いは、プロジェクトとしてのDockerはランタイムコンテナーのみに焦点を合わせているのに対して、OpenShift(システムとして)はランタイムコンテナーとREST API、調整、およびWebインターフェースの両方を含む個々のコンテナを展開および管理します。

ランタイムコンテナのみを比較すると、OpenShiftとDockerはどちらもカーネル分離機能を使用してテナントプロセスを分離します。主にLXCを介したDockerと、主にSELinuxおよびMultiple Category Security(MCS)を介したOpenShiftの場合。どちらもcgroupを使用してCPU、メモリ、およびテナントのIOを制限します。上流のOpenShiftは、長期的な労力を削減するためにLXCを検討しています。

Dockerは高度なディスクとファイルのコピーオンライト共有にAUFSを使用します。OpenShiftはこのようなシステムを必要とせず、互換性もありません。

コンテナ内では、OpenShiftは「カートリッジ」を介して機能のユニット(Webサーバー、データベース)をモデル化します。「カートリッジ」は、システムの起動時に呼び出されるシェルスクリプトフックのセットです。 APIは ここ で説明されています。カートリッジは、ドッカーイメージにほぼ似ています。

Openshiftは、ブローカー(コーディネーター)がノード(複数のテナントコンテナーをホストするサーバー)と通信して、そのコンテナーのエンドポイントを呼び出すAPIについても説明します。

追加の編集:2015年6月の時点で、OpenShift Origin 1.0はDockerおよびKubernetesの上で実行され、Dockerランタイムで実行されるマルチコンテナーアプリをビルドおよび開発できます。 OpenShiftは、KubeとDockerに加えて、ビルド、イメージワークフローとプロモーション、および安全なコンテナークラスター操作を追加します

99
Clayton

この質問に対する回答を2018年末近くに入手可能な情報で更新する必要があると考えました。

現在の状況は、質問が最初に尋ねられたときよりも少し複雑です。現在、Docker Inc.は、DockerおよびMobyの主要な開発者です。これは、現在、DockerランタイムおよびDocker Enterprise Editionと呼ばれるDockerの商用エンタープライズ版のアップストリームプロジェクトです。

この質問を現代的に分析すると、Docker Enterprise EditionとRedHat OpenShiftが比較されます。これらのコンテナプラットフォームは互いに直接競合しており、どちらもオンプレミスおよびクラウドで実行できるKubernetesディストリビューションと見なされます。執筆時点では、Docker Inc.のDocker-EEは機能と販売の面でパックをリードしていますが、サービスとしてkubernetes Platform(s)を提供し始めているパブリッククラウドプロバイダーとの厳しい競争がありますより高度なサーバーレスコンテナプラットフォームに移行します。

6

過去2年間に、このトピックに関する興味深い読み物をいくつか見つけました。

1
minghua

初心者向けの最高の説明です。 https://deis.com/blog/2016/kubernetes-illustrated-guide/

これは冗談ではありません。時には、本当に理解するために子供が物事を見る必要がある場合があります。

私はそれらが比較できるとさえ言いません。 Openshiftは、kubernetes上に構築されるredhatのエンタープライズソリューションです。 Kubernetesは、Dockerコンテナでの作業を整理および自動化するための単なるフレームワークです。ビデオから始めて、低レベルのkupernetesを見ていきます。快適になったら、openshiftが追加する機能の調査を開始します。

1
Justin ross