8
8

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?

More than 5 years have passed since last update.

DockerでDB2 Express-Cの環境を作る

Last updated at Posted at 2015-07-07

DB2を使うプロジェクトで開発時はh2をDB2モードにしてやっていたりするのだが、どうしても対応していないSQLがでてきたりする。
ローカルマシンに入れるのも嫌だし、専用PC用意するのも嫌なのでDockerでやってみた。

##準備
MacでDockerはじめましたを参考に準備する。

##DB2 Express-Cインストール済のイメージを取得する
イチからインストールするのも面倒なのでこれを使わせていただく。

docker pull angoca/db2-instance

##起動する

docker run -i -t --privileged=true --name="db2inst1" -p 50000:50000 angoca/db2-instance

sshrootユーザーでログインした状態になる。

##インスタンスを作成する
sshでログインすると/tmp/db2_confにいる状態になっているはず。そのディレクトリにcreateInstanceというファイルがあるので実行する。

./createInstance

db2inst1というインスタンスが作成され、db2inst1ユーザーになる。
DB2コマンドを確認してみる。

db2 list db directory

以下のような結果になればOK

SQL1031N  The database directory cannot be found on the indicated file system. 
SQLSTATE=58031

##日本語を使えるように設定する
このイメージはデフォルトでは日本語が使えないので設定する。この作業はrootユーザーで行う。

まずは現在の設定を試してみる。

echo $LANG

なにもでないはず。
以下を実行する。

sudo locale-gen ja_JP.UTF-8
sudo /usr/sbin/update-locale LANG=ja_JP.UTF-8
source /etc/default/locale 

設定がうまくいったかどうか試す。

echo $LANG

以下のような結果になればOK

ja_JP.UTF-8

##ホストマシンからアクセスしてみる
IPを確認

boot2docker ip

[ip:50000]でアクセスできる。
あとはcreate databaseしたりすればOK。

##Tips
###SSHから抜ける
ctrl + P + Qで抜ける。exitで抜けるとdockerコンテナが終了してしまう。

###コンテナを起動
docker start db2inst1

###SSHで入る
docker attach db2inst1

##TODO
一連の流れをDockerfileにしたい。

8
8
2

Register as a new user and use Qiita more conveniently

  1. You get articles that match your needs
  2. You can efficiently read back useful information
  3. You can use dark theme
What you can do with signing up
8
8

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?