手順改訂 20231019
Db2 Community Edition の Docker イメージは、Docker HubからICRに移動されました。
■前置き
基本公式の構築手順通りに進めていきます。
今回はMacOSへの導入手順を記事を載せていきますが、公式サイトにそれぞれの環境への導入手順が記載されているので、ご参考までに以下に公式ページのURLを載せておきます。
・Mac導入手順 https://www.ibm.com/docs/ja/db2/11.5?topic=system-macos
・Windows導入手順 https://www.ibm.com/docs/ja/db2/11.5?topic=system-windows
・Linux導入手順 https://www.ibm.com/docs/ja/db2/11.5?topic=system-linux
■前提条件
・MacにDockerDesktopをインストールし、起動しておく。
■インストール手順
1.任意の場所にDBデータを保管するディレクトリを作成
どこでもいいのでDockerディレクトリを作成し、作成したDockerディレクトリに移動
※自分はいつも使っているユーザー配下の作業ディレクトリ内に作成
$ mkdir Docker
$ cd Docker
2.イメージを取得
docker pull コマンドを実行
以前はDocker Hubからpullしていました。
Db2 Community Edition の Docker イメージは、Docker HubからICR(IBM Cloud Registry)に移動されたので、 今回はICRからイメージをpullします。
$ sudo docker pull icr.io/db2_community/db2
取得した イメージを確認したい場合は、docker imagesコマンド
$ docker image ls
REPOSITORY TAG IMAGE ID CREATED SIZE
icr.io/db2_community/db2 latest 7beff879b820 4 months ago 2.84GB
3.Db2 Community Edition イメージ用の環境変数ファイル .env_listを作成
.env_listをviテキストエディタで作成する
$ vi .env_list
viテキストエディタが開けたら「i」キー押下でINSERTモードにし、以下記述を貼り付ける
#ライセンスの同意
LICENSE=accept
#Db2インスタンス名を指定
DB2INSTANCE=db2inst1
#Db2インスタンスのパスワードを指定
DB2INST1_PASSWORD=password
#ここで指定した名前で初期DBを作成します。必要ない場合は空でOK
DBNAME=testdb
#BLUアクセラレーション高速処理
BLU=false
#インスタンスのOracle互換性を有効または無効
ENABLE_ORACLE_COMPATIBILITY=false
#より高い Db2 レベルで新規コンテナーを実行している既存のインスタンスがある場合は、YES
UPDATEAVAIL=NO
#サンプル (定義済み) データベースを作成するか
TO_CREATE_SAMPLEDB=false
#Data Server Manager リポジトリー・データベースを作成するかどうか
REPODB=false
#Docker for Macをインストールする場合はtrue
IS_OSXFS=true
#Docker for Windowsをインストールする場合はtrue
PERSISTENT_HOME=true
#インスタンスの Db2 HADR を構成するかどうか ※レプリケーションのような機能
HADR_ENABLED=false
#ユーザー自身が指定した ETCD キー値ストアを指定
ETCD_ENDPOINT=
#ETCD のユーザー名資格情報を指定
ETCD_USERNAME=
#ETCD のパスワード資格情報を指定
ETCD_PASSWORD=
貼り付けできたら、escキーを押下し、INSERTモードをぬけて「:wq」と入力しENTERキーを押下で保存してviテキストエディタを閉じる
※viテキストエディタ操作について余談
「:w」が保存
「:q」が閉じる
「:wq」が保存して閉じる
「:q!」が書き込んだ内容を保存せずに閉じる
4.docker run コマンドを実行
以下コマンド実行
自分が作成したDockerディレクトリをフルパスで指定
※自分の場合、/Users/{ユーザー名}/work/Docker
$ docker run -h db2server --name db2server --restart=always --detach --privileged=true -p 50000:50000 --env-file .env_list -v {ディレクトリパス}/Docker:/database icr.io/db2_community/db2
5.起動したコンテナにログイン
docker exec -ti db2server bash -c "su - db2inst1"
※Dockerにインストールしているので、ログインはこんな感じだが、やっていることは下記と同じでスイッチしている。
$ su - db2inst1
これで導入は完了です。DB作成等ができる状態になりました。
今後の予定としてはデータベースからテーブルの作成、クライアントの構築、接続も記事にしていくつもりです。
コメント