Dockerで別コンテナでApache+Tomcat連携する

Dockerで別コンテナでApache+Tomcat連携する

別コンテナでApacheとTomcatを立てて、コンテナ間通信を試します。

--linkオプションは非推奨なので使いません。

イメージ

イメージをダウンロードします。軽量なのでAlpine Linuxベースのイメージを使用します。

コンテナ

httpdのみホストの80ポートとコンテナの80ポートをマッピングします。

apacheからtomcatへの通信は8009ポートを経由するので、8080ポートはマッピングする必要がありません。

COMMANDがcatalina.sh runとhttpd-foregroundであることを確認しておきます。

Dockerで別コンテナでApache+Tomcat連携する

ipアドレス確認

TomcatのコンテナのIPアドレスを確認しておきます。ネットワーク未指定の場合はbridgeというネットワークにコンテナ作成されます。同一ネットワークの為コンテナ間通信が可能となります。

コンテナ IPアドレス
Apache 172.17.0.2
Tomcat 172.17.0.3

IPは上記の通りでした。

httpd.conf

httpdにログインしてhttpd.confなど修正します。Alpine Linuxなのでログインシェルはashです。

httpd.confの修正、httpd-proxy.conf作成を行います。

httpd.conf

上記の3行を有効にしてAJPプロトコルを使用します。

httpd-proxy.conf

httpd-proxy.confファイルを作成します。このファイルにTomcatのIPアドレスを指定します。

※ProxyPathではなくProxyPass

※172.17.0.3はTomcatコンテナ(Alpine Linux)のIPアドレス

文法にエラーがないことを確認してexitで抜けます。ServerNameは無視してOK

コンテナ再起動

コンテナ再起動します。

ブラウザで表示確認

http://localhost/

Dockerで別コンテナでApache+Tomcat連携する

http://localhost/examples/

Dockerで別コンテナでApache+Tomcat連携する

ポート80でTomcatのウェルカムページが表示されていれば、Apache経由でTomcatにアクセスできていることが確認できます。

  • このエントリーをはてなブックマークに追加
  • Evernoteに保存Evernoteに保存

コメントをどうぞ

メールアドレスが公開されることはありません。 * が付いている欄は必須項目です

CAPTCHA