私はDockerを使用して開発環境を構築する方法を学んできましたが、私は というアイデアがどのようにプロダクションスタックに変換されているのか興味があります。例として、MySQL、Redis、Nginxを使用するLaravel(Php)アプリケーションを持っています。生産中のドッカーの理解
したがって、通常、AWSのロードバランサの背後に2つのアプリケーションec2インスタンスがあるとしましょう。 Dockerを使用して同様の生産状況を設定する場合...
1)私はRDSとElasticacheを使用しているため、それらのコンテナは必要ありません。だから、基本的に、idはPHP-FpmとNginxのコンテナしか必要ないのですか?
2)高可用性を得るためには、ELBの背後に2つ(または少なくとも1つ以上)のec2インスタンスがあります。だから私は、各インスタンスが上記のコンテナ(PHPとNginx)を実行すると思います。しかし、それは、各サーバがアプリケーションを提供するために必要なものを実行する、私の以前のVMセットアップと変わりません。それは正確ですか?
3)VMで、私は伝統的にAMIにコードを焼き付けて、Launch ConfigurationとAuto ScalingグループにそれらのAMIを追加し、そのグループは必要に応じてインスタンスをスピンアップします。展開のために、私は古いec2インスタンスを解体し、新しいインスタンスをスピンアップします。 Dockerでは、これらのコンテナはec2インスタンス上で実行されるため、VMをスピンアップ/ティアダウンする必要はありませんか、コンテナを置き換えてVMを実行し続けるのですか?
ありがとうございました。潜在的に、私のアプリケーションは単なる基本的なAPIであり、まだマイクサービスのための場所がないかもしれないので、私は本当にDockerの恩恵を受けていないでしょうか? – djt
はい、シンプルなAPIなら、すぐにそれを保つことができます。複雑になると、アプリケーションをドッキングしてからチャックデバイスによってマイクロサービスに徐々にチャンクすることができます。情報のおかげで – Ashan