web-dev-qa-db-ja.com

Docker ContainerとAnsible Playbookの違いは何ですか?

どちらのツールも、アプリケーションを簡単にインストールして自動的に構成するために使用されているようです。

ただし、Dockerは限定的に使用しており、Ansibleはまったく使用していません。だから私は少し混乱しています。

これら2つのテクノロジーの比較を検索すると、これらのテクノロジーを組み合わせて使用​​する方法の詳細がわかります。

32
Steven Roose

ほとんどの記事がそれらを一緒に使用することについて述べている多くの理由があります。

Ansibleは、前に戻ってそのインストールと構成の個々のステップを調整できるマシンをインストールして構成する方法と考えてください。その後、管理できるように、その概念を多くのマシンにスケールアウトできます。

Ansibleの主な違いは、Ansibleがマシンの内部を管理できるだけでなく、マシンを取り巻くネットワーク、DNS、モニタリングなどの他のシステムも管理できることです。

Ansibleを介して多くのマシンを構築するには、1台を作成するのと同じくらい多くの時間をかけて50台のマシンを作成します。50台すべてが段階的に作成されるためです。複数の環境でローリングデプロイを実行している場合は、このビルドの手順を段階的に実行します。

ここで、Dockerをそれらの個別のマシンの1つを構築したと考えてください。Dockerシステムが利用可能な場所であればどこにでもインストールおよび構成して展開する準備ができています(最近ではほとんどどこにでもあります)。ここでの欠点は、Dockerコンテナーを実際に機能させるために必要な他のすべての側面を管理することができず、構成を自動化していない場合に聞こえるほど、長期的にそれらを微調整することはそれほど面白くありません(したがって、Ansibleはここで役立ちます) )。

最初のイメージを作成した後の1から50までのDockerマシンのスケーリングは、Ansibleの段階的なアプローチに比べて途方もなく高速であり、これはより小さなグループの多くのマシンのローリングデプロイ中に最も明白です。

それぞれに能力または速度のいずれかで欠点があります。しかし、それらを両方組み合わせれば、かなり素晴らしいものになる可能性があります。既に読んだほとんどの記事で間違いなく、Ansibleを使用してベースのDockerコンテナを作成(および更新)し、Ansibleを使用して、満足する必要のあるコンテナのスケールのロールアウトを管理することをお勧めします。アプリケーションの使用状況。

36
PhillipHolmes