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?