回答:
まず何年にもわたってこの回答に賛成してくださった方々に感謝します。
この質問は2013年8月、Dockerがまだ非常に新しいテクノロジであったときに行われたことに注意してください。それ以降:Kubernetesは2014年6月に発売され、Docker swarmはDockerエンジンに2015年2月に統合され、AmazonはそのコンテナソリューションであるECSを 2015年4月に発売し、GoogleはGKEを2015年8月に発売しました。大幅に変更されました。
簡単に言えば、これを行うには独自のロジックを記述する必要があります。
この種の機能は、Dockerの上に構築され、本番環境のアプリケーションをサポートするように設計された次のプロジェクトから出現することを期待しています。
私が最近発見した別の関連プロジェクト:
最新リリースのOpenstackには、Dockerコンテナーの管理のサポートが含まれています。
Dockerインスタンスを管理するためのシステム
また、パッカー、Docker、Servなどのツールを使用して不変のサーバーインフラストラクチャパターンを提供する方法に関するプレゼンテーション
serfを使用してDockerコンテナーを相互接続する方法についてのきちんとした記事:
Marathonフレームワークを使用してMesosで Dockerを実行する
Docker -clusterと分離されたスケジューラーのデプロイをサポートしているため、DockerをTsuruで実行します。
Dockerベースの環境のオーケストレーション
Google Kubernetes
RedhatはDockerを統合するためにOpenshift PAASをリファクタリングしました
Dockerコマンドラインをラップし、jsonファイルから管理するDocker NodeJS lib。
Amazonの新しいコンテナーサービスは、クラスターでのスケーリングを可能にします。
厳密に言えばFlockerしない「スケール」アプリケーションを、それは(データベースサービスを実行している?)ポータブル複数のドッキングウィンドウのホスト間でステートフルコンテナを作る関連機能fufilに設計されています。
Dockerアプリケーションを記述するポータブルテンプレートを作成するプロジェクト:
Dockerプロジェクトがオーケストレーションにネイティブに対応するようになりました(発表を参照)
以下も参照してください。
Openstackプロジェクトには、Magnumと呼ばれる新しい「サービスとしてのコンテナー」プロジェクトがあります。
多くの可能性を示し、KubernetesやDocker swarmなどのDockerオーケストレーションフレームワークの簡単なセットアップを可能にします。
ランチャーは急速に成熟しているプロジェクトです
素敵なUIとハイブリッドDockerインフラストラクチャに重点を置いた
ラティス・プロジェクトは、コンテナクラスタを管理するためのクラウドファウンドリーの分派です。
Dockerは最近Tutumを購入しました。
Kubernetesにデプロイされたアプリケーションのパッケージマネージャー。
Vampは、コンテナテクノロジーに依存する(マイクロ)サービス指向アーキテクチャを管理するためのオープンソースのセルフホストプラットフォームです。
分散型の高可用性データセンター対応スケジューラ
Vagrantやその他の強力なツールを提供してくれた人たちから。
AWS用のコンテナーホスティングソリューション、オープンソース、Kubernetesに基づく
ドイツにホストされているApache Mesosベースのコンテナ
https://sloppy.io/features/#features
Docker Inc.は、Dockerクラウドと呼ばれるコンテナホスティングサービスも提供しています
Jelasticは、コンテナーを自動的にスケーリングするホストされたPAASサービスです。
mesosphere/mesos-docker
プロジェクトは非推奨になり、置き換えられましたmesosphere/deimos
:github.com/mesosphere/deimos
Deisは、(とりわけ)Dockerコンテナーのスケーリングを自動化します。
Deis(DAY-issと発音)は、独自のサーバー上でのアプリケーションの展開と管理を容易にするオープンソースのPaaSです。DeisはDockerとCoreOSに基づいて構築され、Herokuにヒントを得たワークフローを備えた軽量のPaaSを提供します。
開発者のワークフローは次のとおりです。
deis create myapp # create a new deis app called "myapp"
git push deis master # built with a buildpack or dockerfile
deis scale web=16 worker=4 # scale up docker containers
DeisはDockerコンテナーをCoreOSクラスター全体に自動的にデプロイし、リクエストを正常なDockerコンテナーにルーティングするようにNginxルーターを構成します。ホストが停止すると、コンテナは数秒で別のホストで自動的に再起動されます。プロキシURLを参照するかdeis open
、アプリをヒットするために使用します。
その他の便利なコマンド:
deis config:set DATABASE_URL= # attach to a database w/ an envvar
deis run make test # run ephemeral containers for one-off tasks
deis logs # get aggregated logs for troubleshooting
deis rollback v23 # rollback to a prior release
この動作を確認するには、http://deis.io/overview/でターミナルのビデオを確認してください。また、Deisの概念について学習したり、独自のプライベートPaaSをデプロイしたりすることもできます。
鶴を試すことができます。TsuruはHerokuに触発されたオープンソースのPaaSであり、Globo.com(ブラジル最大の放送テレビ会社のインターネット部門)ですでにいくつかの製品が生産されています。
コンテナーの作成、デプロイ、ルーティング(hipacheを使用)、Dockerクラスター、ユニットのスケーリング、分離されたデプロイなどの多くの優れた機能により、アプリケーションのフロー全体を管理します。
以下のドキュメントをご覧ください:http : //docs.tsuru.io/
ここに私たちの環境をカバーする私たちの投稿:http : //blog.tsuru.io/2014/04/04/running-tsuru-in-production-scaling-and-segregating-docker-containers/
見ていRancher.comを -それは、複数のドッカーホストおよび大いに多くを管理することができます。
私たちはDeis(deis.io)の大ファンであり、積極的に展開していますが、次のような他のHerokuのようなPaaSスタイルの展開ソリューションがあります。
WayfinderのLongshoreman:
https://github.com/longshoreman/longshoreman
CloudFoundryを使用したCloudCredoのデッカー:
http://www.cloudcredo.com/decker-docker-cloud-foundry/
まっすぐなオーケストレーションに関しては、NewRelicのオープンソースのCenturionプロジェクトは非常に有望であると思われます。
Panamax:人間のためのDocker管理。panamax.io
図:Dockerを使用した高速で分離された開発環境。fig.sh
他の投稿で言及されていないオプションの1つはHeliosです。それはspotifyによって構築され、あまりやり過ぎないようにしています。