Docker コンテナ(Tomcat)上のAPIServer にコネクタを追加する: バインドマウント利用偏

by 宮本航太 | 2021年09月21日

f:id:sennanvolar44:20210920071320p:plain こんにちは、テクニカルサポートの宮本です!

前回は管理DB利用時のコネクタ追加方法をご紹介しましたが、今回はバインドマウント先で CData APIServer を起動している構成で実際にコネクタ追加を行ってきます。
※管理DBへのコネクタ追加方法はこちら

www.cdatablog.jp

使用する環境

Docker ホスト側に APIServer を展開し、そのディレクトリをコンテナ起動時にTomcat から参照する形でコンテナ上では APIServer を持たない構成となり、コンテナがスケールアウトしても同じ設定の APIServer を参照することができるようになります。
バインドマウンドで APIServer を起動する方法についてはこちらで紹介しています。

www.cdatablog.jp

手順

手順は単純で、Docker ホスト側でコネクタ(CData JDBC Driver)を所定のディレクトリにインストールするだけです。

コネクタのインストール

今回は Salesforce JDBC Driver を使っていきますので、まずはこちらからダウンロードします。(30日間の無償トライアルが可能です)

https://www.cdata.com/jp/drivers/salesforce/jdbc/

f:id:sennanvolar44:20210920063214p:plain

ダウンロードが終わりましたら、任意のDocker ホスト側のディレクトリにアップロードし、インストールを開始します。

[root@salesforce]$ java -jar setup.jar
~
...pack selection done.
press 1 to continue, 2 to quit, 3 to redisplay
1
[ Starting to unpack ]
[ Processing package: JDBC Driver (1/2) ]
[ Processing package: Help Files (2/2) ]
[ Unpacking finished ]
[ Console installation done ]
[root@salesforce]$

インストールが完了したら、ホスト側で展開した APIServer の lib にコネクタ(Driver)とライセンスファイルをコピーして配置します。

コネクタはインストール先のlib 配下にあります。
/root/salesforce/lib/cdata.jdbc.salesforce.jar
ライセンスファイルはユーザーディレクトリの隠しフォルダ配下にあります。
/root/.CData/cdata.jdbc.salesforce.lic

[root@lib]$ cp -p cdata.jdbc.salesforce.jar /opt/apiserver/WEB-INF/lib/
[root@lib]$ cp -p /root/.CData/cdata.jdbc.salesforce.lic /opt/apiserver/WEB-INF/lib/
[root@lib]$

これでコネクタ追加が完了ですので、さっそくコンテナを起動してみましょう。

コンテナの起動

ホスト側をマウントしてコンテナを起動してみます。

[root@salesforce]$ docker run --rm -it --name apiserver -v /opt/apiserver/:/usr/local/tomcat/webapps/apiserver/ -v /root/cdata/apiserver/:/root/cdata/apiserver/ -p 8080:8080 tomcat:apiserver
~
19-Sep-2021 21:41:47.394 INFO [main] org.apache.coyote.AbstractProtocol.start Starting ProtocolHandler ["http-nio-8080"]
19-Sep-2021 21:41:47.417 INFO [main] org.apache.coyote.AbstractProtocol.start Starting ProtocolHandler ["ajp-nio-8009"]
19-Sep-2021 21:41:47.422 INFO [main] org.apache.catalina.startup.Catalina.start Server startup in 12811 ms

起動されましたら、「http://xxxxx:8080/apiserver/」でアクセスしてリソースタブを表示してみましょう。このように追加した Salesforce アイコンが表示されるようになります。

f:id:sennanvolar44:20210920065812p:plain

おわりに

いかがでしたでしょうか。バインドマウントで APIServer を使用する場合はさくっとコネクタを追加することができました。 今回は Salesforce でしたが、 他の 接続先でも追加することができます。対象はこちらのCData JDBC Driver の一覧にあるものとなります。
CData Software Japan - JDBC Drivers

他にもこのような構成で APIServer を使用したいというリクエストなどありましたら、サポートフォームよりお問い合わせくださいませ。

CData Software Japan - Technical Support

関連コンテンツ

トライアル・お問い合わせ

30日間無償トライアルで、CData のリアルタイムデータ連携をフルにお試しいただけます。記事や製品についてのご質問があればお気軽にお問い合わせください。