0

私の質問があまりにも基本的だとお詫びしますが、私はちょうどドッカーを学び始めました。私には分かりませんがいくつかの概念があります。アプリケーションまたはマシンをDockerizeしますか?

私はdockerを完全に機能する仮想マシンと考えています。そのため、一連のサービスを持つサーバーをコンテナに変換することを考えました。その後、私は "ドッキング"アプリケーション(例えば、postgresql)について読んで、Docker file can only have one default instruction, when executing a containerを学びました。 supervisorを使用して複数の実行命令を調整することは可能だと読んだが、それが本当に最善のアプローチであるのか、それともmicroservices architectureに傾けたほうがよいのだろうかと疑問に思った。

私の主旨をより良く説明するために、私のユースケースを説明したいと思います。私は、Tomcat(サーブレットを使ってデプロイされたいくつかのサービスを含む)とpostgreSQLデータベースを提供する環境を作りたいと思っています。理想的には、サービス(とデータベース)を同じホスト(異なるポート上)で実行したいと思います。

Tomcat用のコンテナとデータベース用のコンテナを作成するのがベストプラクティスですか、それとも同じコンテナに入れて出荷する方が良いですか?

2つの異なるコンテナを作成する場合、どのフレームワークを使用してそれらを調整する必要がありますか?このタスクにはDocker composeが充当されていますか?

+1

http://stackoverflow.com/questions/16047306/how-is-docker-different-from-a-normal-virtual-machine?rq=1 – user2915097

答えて

3

1)

Iは、完全に機能する仮想マシンとしてドッカーを考え、したがってIは、容器内に、サービスのセットでサーバを形質転換すると考えます。

NO NOとNO!それはほとんどすべての場合において、容器

あたり

ラン一つだけのプロセスの仮想マシンではない、あなただけの単一の容器中に、単一のプロセスを実行する必要があります。アプリケーションを複数のコンテナに分割すると、水平に拡大してコンテナを再利用する方がはるかに簡単です。そのサービスが別のサービスに依存している場合は、コンテナのリンクを使用してください。 Dockerfiles https://docs.docker.com/engine/userguide/eng-image/dockerfile_best-practices/

2)

を書いて、私は2つの異なるコンテナを作成した場合、どのフレームワーク私はそれらを統合するために使用するための

読むベストプラクティス?それはドッカーがこの仕事のために充当されていますか?

ドッカーの作成を開始する必要があります。あなたがそれにもっと慣れ親しんでいるときには、あなたは十分に確立された決定をあなた自身のものにします。

関連する問題