私はドッカーの作成ソリューションに変換しようとしているウェブサイトを持っています。異なるドッカーコンテナでウェブサイトのさまざまな部分をシームレスにホストする
ウェブサイトの一部はCMS(WordPress、具体的には)であり、現在Tomcatによって処理されているJava Webアプリケーションもいくつかあります。
現在のアプローチは、私が公式のWordPressコンテナと公式のTomcatコンテナを持っていることです。私はWordPressに(本当にこの質問の一部ではないMySQLコンテナ経由で)自分のカスタムコンテンツを読み込み、WARファイルをtomcatに読み込みます。
これは問題です。 WordPress Webサイトの一部には、Javaアプリケーションへのリンクがあります。以前は、これらのリンクの一部は/Application1
のような単純な相対リンクであったため、ユーザーはJavaアプリケーションにアクセスすることができました。
これは別々のコンテナでホストされているため、WordPressコンテナには「Application1」という名前がないため、これを行うことはできません。 - 正常に動作します
# Tomcat exposes port 8085
RewriteRule ^.*Application1/(.*)$ http://localhost:8085/Application1/$1 [R,L]
しかし、これは、ユーザーがワードプレスでアプリケーション1のリンクをクリックした場合、そのブラウザは、その後localhost:8085
にリダイレクトすることを意味します:私はこのようなRewriteRulesとWordPressのコンテナ用のhtaccessファイルを変更しましたこのコンテナのセットをローカルで実行しても、リモートユーザーは使用できません。
localhost
を実行するサーバーの実際の名前に変更できます。ただし、このスタックが実行されるすべてのサーバーに対して手動で更新するか、開発者向けにlocalhostにリセットする必要があります。
WordPressとTomcatを1つのコンテナにまとめることができましたが、アップグレードする必要がある場合は、カスタムコンテナを再構築するのではなく、取り込んでいるコンテナのバージョンを変更するだけですスクラッチから。
これを行うためのよりシームレスな方法があるので、ユーザーのブラウザのURLは変更されません。リモートユーザーがこのサイトのさまざまな部分が異なるコンテナにホストされていることを知ることさえできないように、この作業を行う方法はありますか?