DB2の試験環境が必要になったのだけど、仮想マシンで普通に立てるのはリソースの無駄遣いなので Docker で立ててみます。
Docker のホストは macOS を使用。macOS 向けの環境構築手順は割愛します。
store.docker.com でポチっておく
ここでポチります。開発版なので費用はかからない。 https://store.docker.com/images/db2-developer-c-edition
ポチったら、手順に従って pull して実行します。
コンテナを実行したい環境で docker pull
ストアからの入手ではログインが必要のようですから、ログインしておきます。そして macOS で利用する場合は x86_64 を入手します。
$ docker login $ docker pull store/ibmcorp/db2_developer_c:11.1.2.2b-x86_64
設定ファイルを作る
.env_list という名前でファイルを作ります。今回はこんな内容で。
LICENSE=accept DB2INSTANCE=db2inst1 DB2INST1_PASSWORD=password DBNAME=testdb BLU=false ENABLE_ORACLE_COMPATIBILITY=true UPDATEAVAIL=NO TO_CREATE_SAMPLEDB=true REPODB=false IS_OSXFS=true # Only specify this parameter if you are running on macOS PERSISTENT_HOME=false # Only specify this parameter for Docker for Windows users
実行する
今回はこんな感じで。-v でホスト側のディレクトリをコンテナ内にマウントさせた場合はうまく動かなかったので、とりあえず -v 抜きで動作確認しています。
docker run -h db2server_container \ --name db2server \ --restart=always \ --detach \ --privileged=true \ -p 50000:50000 -p 55000:55000 \ --env-file .env_list \ store/ibmcorp/db2_developer_c:11.1.2.2b-x86_64
接続確認する
任意のツールで確認すればよいと思います。
とりあえず手元では RAD Studio 10.2 Tokyo の IDE からデータエクスプローラで操作できることを試したり、DB Artisan で接続できることを確認しました。
FireDAC での設定箇所と DB2 の .env_list の対比はこんな感じです。
FireDAC | DB2 .env_list |
---|---|
Database | DBNAME |
User_Name | DB2INSTANCE |
Password | DB2INST1_PASSWORD |
Server | (実機のIPアドレスまたはホスト名) |