JBoss Data Virtualization をDockerで使うときのメモ

Dockerをはじめとするコンテナ技術は、最近になって、随分と一般的になってきているような気がしますね。ちょっと分からないことがあれば、ググれば大抵のことは解決出来るようになってきました。

さて、Dockerコンテナ上でサーバー系のプログラムを動かす場合には、多くの場合で、コンテナを起動するときに、ホストとコンテナ間のポートマッピングを行う必要がありますね。ホストでTCP Port 8080で受けたらコンテナへは80にして転送してやる、みたいな。

ということは、コンテナ上で動かすアプリケーションがどのポートを使うのかということをちゃんと理解しておかないと、Dockerコンテナも期待する形では起動できないことになります。

JBossには、JBoss Data Virtualization(通称 JDV) という、データ仮想化製品があるわけですが、今回は、こいつがどんなポートを使うかをメモしておきます。(インストール直後の状態で確認したので、色々と設定追加していくと、ここで書いたもの以外にも使われるポートはあるかもしれません、あしからず)

JDVが使う TCP Port番号について

9990: Web管理コンソール

8080: Webコンテナ

31000: Teiid JDBC

35432: Teiid ODBC

9999: 管理CLIなど

4447: なんだっけ。。。。?

 

というわけで、コンテナ上のJDVをリモートからアクセスしたい場合には、これらのポートについては、コンテナ起動時にきちんとマッピングの設定をしておいたほうが良いでしょう。 要するに、以下のようにコンテナを起動します。

[基本] # docker run -it -p 9990:9990 -p 8080:8080 -p 35432:35432 -p 31000:31000 -p 9999:9999 -p 4447:4447 daijik/mycentos:jdv623_handson /bin/bash bashに入ったら、 # /path/to/jdv/bin/standalone.sh -b 0.0.0.0 -bmanagement 0.0.0.0 と起動する。

[直接JDVを起動する] # docker run -it -p 9990:9990 -p 8080:8080 -p 35432:35432 -p 31000:31000 -p 9999:9999 -p 4447:4447 daijik/mycentos:jdv623_handson /root/jdv62update03_on_eap646/bin/standalone.sh -b 0.0.0.0 -bmanagement 0.0.0.0

こんな感じで大丈夫だと思います。「-b 0.0.0.0 -bmanagement 0.0.0.0」も忘れずに。