pslaboが試したことの記録

はてなダイヤリーからはてなブログに引っ越してきました

この日記は現在実行中の減量記録を含む個人的なメモとして始めましたが、最近はコンピュータやガジェット、ハック、セキュリティネタのほうがメインになっております。

はてなダイヤリー時代はカテゴリ分けが適当だったのですが、これはそのうち直します。


IBM DB2 を Docker で動かす

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アドレスまたはホスト名)