こんにちは、テクニカルサポートの宮本です!
前回は管理DB利用時のコネクタ追加方法をご紹介しましたが、今回はバインドマウント先で CData APIServer を起動している構成で実際にコネクタ追加を行ってきます。
※管理DBへのコネクタ追加方法はこちら
使用する環境
Docker ホスト側に APIServer を展開し、そのディレクトリをコンテナ起動時にTomcat から参照する形でコンテナ上では APIServer を持たない構成となり、コンテナがスケールアウトしても同じ設定の APIServer を参照することができるようになります。
バインドマウンドで APIServer を起動する方法についてはこちらで紹介しています。
手順
手順は単純で、Docker ホスト側でコネクタ(CData JDBC Driver)を所定のディレクトリにインストールするだけです。
コネクタのインストール
今回は Salesforce JDBC Driver を使っていきますので、まずはこちらからダウンロードします。(30日間の無償トライアルが可能です)
https://www.cdata.com/jp/drivers/salesforce/jdbc/
ダウンロードが終わりましたら、任意の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 アイコンが表示されるようになります。
おわりに
いかがでしたでしょうか。バインドマウントで APIServer を使用する場合はさくっとコネクタを追加することができました。
今回は Salesforce でしたが、 他の 接続先でも追加することができます。対象はこちらのCData JDBC Driver の一覧にあるものとなります。
CData Software Japan - JDBC Drivers
他にもこのような構成で APIServer を使用したいというリクエストなどありましたら、サポートフォームよりお問い合わせくださいませ。