0

私は、LAMPスタックとドッカーベースの開発環境に最適なアーキテクチャについて疑問に思って。ドッカーベースの開発環境

要件同じLAMPスタックを使用しているパラレル

  • ほとんどのプロジェクトで複数のプロジェクトに取り組んで

    • (簡単にするためのすべてのプロジェクトが同じスタックと構成を共有していると仮定する)
    • ザ・ホストはWindows + VBox + Docker Toolbox(すなわちBoot2Docker)を実行しています

    現在のアーキテクチャ

    • つの共有開発環境サイトスクリプトを使用して
    • /ジェンキンスコンテナセットアップ新しいプロジェクト(新しいDB、バーチャルホストの設定あたりのバーチャルホストの構成で複数のコンテナ(ウェブ、デシベル、永続的なデータを...)実行しています...)
    • (IDEは、Windows上で実行されている)Windowsマシンとデータを共有するためのカスタムSambaのコンテナを実行

    いつものように長所があります。これはメンテナンスのために非常に簡単ですが、専用のdocker-compose.ymlファイルを使って特定のプロジェクトを実際に展開することはできません。また、「マイクロサービス」のすべての利点をPHP /特定のサイトのMySQLバージョン。

    の質問はどのように我々は、プロジェクトのドッキングウィンドウ-compose.ymlファイルごとに使用することができますが、(すべてのプロジェクトがポート80を使用しているので)まだ同時に実行している複数のプロジェクトを持っています。 プロジェクトごとにランダムなポートを使用し、それらのWebコンテナの上にプロキシレイヤーを実行する方が良いでしょうか(それは可能ですか?)

    このユースケースのための他のオプションや共通のデザインパターン?

    ありがとうございました。

  • 答えて

    1

    短い答えはイエスです。 Dockerは、ポートが指定されていない場合、デフォルトでランダムなポートを割り当てます。マッピングのために私が使用します。https://github.com/jwilder/nginx-proxy

    をあなたはproject1.yml project2.ymlのようなものを持つことができます....とコンテナのようなものになるだろう起動する:

    docker-comppse -f project1.yml up 
    

    しかし、私はわからないんだけどなぜあなたはそれをやろうとしますか?あなたはRancherのようなものを使い、開発ホストを複数の小さな開発環境に分けることができます。

    +0

    私はランチャーに慣れていないんだが、そのドキュメントから、彼らは主に生産環境の話をしています。あなたが提供した最初のソリューションが気に入らないのはなぜですか? – Rotem

    +1

    はいそれはあなたがすることができますは、1台以上のホストで構成されているスタックを持つことであり、それはあなたが(DEV、事前PROD、PROD)のためにそれを使用したいもののために完全にあなた次第です。しかし、さまざまなプロジェクト用の異なるドッカーの作成ファイルで言及したように試してみると、それがどうなるかを見ることができます – Sergiu