2016-09-17 17 views
0

私はDockerで構築された環境でアプリケーションを開発するために使い始めています。生産中のDockerへの段階的移行

私はいくつかの(ローカルにインストールされた)WebアプリケーションをApacheに提供している物理サーバーを持っています。

Apache listening on 80 
    sites-available 
     app1 -> locally installed in /apps/app1 
     app2 -> locally installed in /apps/app2 
     ... 

今私はDockerを使って完全なスタック環境を準備しています。

Apache listening on 80 
    sites-available 
     app1 -> locally installed in /apps/app1 
     app2 -> locally installed in /apps/app2 
     app3 -> proxy to the related Docker service 
     ... 

を次第に私の他の既存のアプリをDockerize:私はローカルにインストールされたアプリケーションの横に私の良い古いサーバーにそれをプラグインしたいと思います。

主な質問は次のとおりです。
毎回専用ポートでドッキングされたサービスを公開する必要がありますか?

私は最終的に同じマシン上で実行されているいくつかのサービスをプロキシするために使用できることがわかっていないいくつかのネットワーク技術はありますか?

また、Apacheのプロキシの例を教えてください。

最終的に私は排他的なプロキシを持っているときにNginxに切り替えます。

答えて

1

Dockerでは、特定のコンテナを公開するのに適した方法は、専用ポートを使用する方法です。コンテナに直接接続する方法はありますが、特に同じマシンで実行している場合は、コンテナの現在のIPが再構築された場合、そのIPを追跡しようとします。

ご使用のシナリオでは、2番目のプロキシをコンテナ内に配置することをおすすめします。これはコンテナとして実行されているため、他の各コンテナに名前で接続できます。私の個人的に好きな実装はnginx-proxyです。これはコンテナのドッキングソケットを待ち受けて自動的にコンテナの設定を更新します。

次に、コンテナへの移行が完了したら、既存のApacheプロキシプロセスをオフにして、nginxプロキシに別のリスニングポートを追加できます。

+0

これは興味深いです。私は主に私が探しているものだと思います。 –

関連する問題