社外接続できない素のRHEL7サーバーにDb2 WarehouseコンテナをSMP構成でデプロイする

# はじめに

Db2 Warehoue はコンテナベースのアーキテクチャによって環境やOSを選ばず、迅速にデプロイできるという特徴を備えています。Db2 Warehoueを勤務先のサーバーに導入しましたが、導入対象となったサーバーでは社外サイトに接続できないという制約がありました。社内ネットワークには接続できます。Db2 Warehouseのデプロイ自体は早く済ませることができますが、準備に手間を要しました。

本記事ではネットワーク接続有り、ただし外部接続不可、といった状況での導入方法をまとめます。特にDockerを導入する時にオフラインでyumを使うためのリポジトリ設定がポイントとなります。Dockerのリポジトリを作成し、さらに各種ライブラリを保持するリポジトリを導入対象サーバー内に作成します。


# 前提事項
導入対象の環境は次の通りです。

- Red Hat Enterprise Linux (RHEL) 7.8 x86_64

ここにDockerを導入し、Db2 Warehouseコンテナをデプロイします。Dockerについては、無料の community edition を使います。

- Docker Community Edition (Docker CE) 19.03.9
- Db2 Warehoue Enterprise Edition 11.5.4

なお、Docker Hubに[Db2 Warehoue Developer Edition v11.5.2](https://hub.docker.com/_/ibm-db2-warehouse-dev)が登録されていますが、2020年3月をもってサポートが終わっています。Db2 WarehouseのパッケージはIBMサイトから4節に記載の方法で取得して下さい。


# 参考資料

- Qiita: [Db2 Warehouse SMP構成(シングルノード) x86版 を導入してみた](https://qiita.com/m1914uk/items/9e7573dd7f20e31735b5)
- Qiita: [Db2 Warehouse (SMP構成)をデプロイする](https://qiita.com/Asuka_Saito/items/cd0895986a22a6aa3800)
- docker docs: [Install Docker Engine](https://docs.docker.com/engine/install/)
- IBM Knowledge Center: [IBM Db2 Warehouse のセットアップ](https://www.ibm.com/support/knowledgecenter/ja/SSCJDQ/com.ibm.swg.im.dashdb.doc/admin/local_setup.html)


# 導入の流れ

1. 前提条件の確認
2. yumローカルリポジトリ作成
3. Dockerエンジンの導入
4. Db2 Warehouseコンテナイメージの取得
5. Db2 Warehouseコンテナのデプロイ


# 1. 前提条件の確認
# 1.1 Docker CEが動作するための前提

[Dockerの対応プラットフォームの一覧表](http://docs.docker.jp/engine/installation/#platform-support-matrix)を見るとRHELに対応していないことがわかります。ですが、CentOSがサポートされているので、よしとします。



# 1.2 Db2 Warehouseが動作するための前提

IBM Knowledge Centerの[Linux および x86 ハードウェアでの IBM Db2 Warehouse の前提条件](https://www.ibm.com/support/knowledgecenter/ja/SSCJDQ/com.ibm.swg.im.dashdb.doc/admin/local_prereqs-Linux.html)にもとづいて確認します。



#### 1.2.1 ハードウェアの前提

- プロセッサー：2.0GHz
`cat /proc/cpuinfo`で確認できます。

- メモリー：8GB
`cat /proc/meminfo`で確認できます。

- ストレージ：25GB (開発環境での最小)
`df -h`で確認できます。オプションの -h によってサイズを示す数字にMやGといった単位が付きます。



#### 1.2.2 ファイルシステムの前提

- POSIX 準拠のファイル・システム

RHELのデフォルトファイルシステムであるxfsはPOSIX準拠であり、次のように/がxfsであることが確認できます。([RHEL8のマニュアル](https://access.redhat.com/documentation/ja-jp/red_hat_enterprise_linux/8/html/managing_file_systems/local-file-systems_overview-of-available-file-systems)にPOSIX準拠と記載されていますが、RHEL7でも同様です)

```
[root@rhel1 ~]# df -T
ファイルシス            タイプ   1K-ブロック     使用    使用可 使用% マウント位置
（中略）
/dev/mapper/rhel00-root xfs        287378332 14130424 273247908    5% /
```



#### 1.2.3 ネットワークの前提

- ノード・ホストが/etc/hostsに登録されていること
    - 登録されていない場合は、次の最下行のように登録してください。

```
/etc/hostsの内容
127.0.0.1   localhost localhost.localdomain localhost4 localhost4.localdomain4
::1         localhost localhost.localdomain localhost6 localhost6.localdomain6
xxx.xxx.xxx.xxx    rhel1.myhome.com    rhel1
```

- IPv4 転送が有効になっていること
    - /etc/sysctl.conf に次の最後の行を追加します。

```/etc/sysctl.conf
# sysctl settings are defined through files in
（中略）
net.ipv4.ip_forward=1
```

- ポートが開いていること
    - 次のポートがFirewalldでふさがれていないことを確認します。
        - 60000 から 60060: データベース FCM 用 (HADR を使用する場合は、60006 から 60007 が HADR 用)
        - 32768 から 65535: FCM 接続テスト用
        - 25000 から 25999: Apache Spark 用
        - 50022: 自動化と管理のための SSH 用
        - 50001: SSL を使用するデータベース接続用
        - 50000: SSL を使用しないデータベース接続用
        - 9929: 通信テスト用
        - 9300: Web コンソールの状況確認用
        - 8998: Livy サーバー経由の Apache Spark アプリケーション・ジョブの実行用
        - 8443: Web コンソールの HTTPS 用
        - 5000: システム・マネージャー用
        - 2379 - 2380: HA 管理用
        - 389: LDAP 用
        - 22: SSH/ホスト・オペレーティング・システム用

    - firewalldが動いているのかどうかを`firewall-cmd --state`で確認し、止まっていれば`systemctl start firewalld`で起動します。次に許可されているポートを確認します。

```
[root@rhel1 ~]# firewall-cmd --list-ports
60000-60060/tcp 25000-25999/tcp 50022/tcp 50001/tcp 50000/tcp 9929/tcp 9300/tcp 8998/tcp 8443/tcp 5000/tcp 2379-2380/tcp 389/tcp 22/tcp 60000-60060/udp
```

上のようにポートが表示されなければ許可されていないため、次のコマンドでポートを開けます。
        - 参考：[IBM Db2 Warehouse のトラブルシューティング](https://www.ibm.com/support/knowledgecenter/ja/SSCJDQ/com.ibm.swg.im.dashdb.doc/admin/troubleshooting_local.html)の「デプロイメント中にポート検査が失敗する」


```
firewall-cmd --zone=public --add-port=60000-60060/tcp --permanent ; 
firewall-cmd --zone=public --add-port=25000-25999/tcp --permanent ;
firewall-cmd --zone=public --add-port=50022/tcp --permanent ;
firewall-cmd --zone=public --add-port=50001/tcp --permanent ;
firewall-cmd --zone=public --add-port=50000/tcp --permanent ;
firewall-cmd --zone=public --add-port=9929/tcp --permanent ;
firewall-cmd --zone=public --add-port=9300/tcp --permanent ;
firewall-cmd --zone=public --add-port=8998/tcp --permanent ;
firewall-cmd --zone=public --add-port=8443/tcp --permanent ;
firewall-cmd --zone=public --add-port=5000/tcp --permanent ;
firewall-cmd --zone=public --add-port=2379-2380/tcp --permanent ; 
firewall-cmd --zone=public --add-port=389/tcp --permanent ;
firewall-cmd --zone=public --add-port=22/tcp --permanent ;
firewall-cmd --zone=public --add-port=60000-60060/udp --permanent ; 
firewall-cmd --reload
```



#### 1.2.4 Dockerに関する前提

-  v17.06 の Docker エンジン (Enterprise Edition (EE) または Community Edition (CE))であること
    - 本記事では Docker CE v19.03.9 を使います。

- ストレージ・ドライバーとしてoverlay2が推奨です。これは複数のファイルシステムを1つにマージするUnionFSというファイルシステムに由来を持ち、高速化されたものです。
    - 本記事ではoverlay2を使います。その設定はDocker CE導入後に行うため、説明も後で述べます。
    - 推奨ドライバーのことは IBM Knowledge Center の英語版、[Db2 Warehouse deployment planning > Prerequisites > Linux and x86 hardware](https://www.ibm.com/support/knowledgecenter/SSCJDQ/com.ibm.swg.im.dashdb.doc/admin/local_prereqs-Linux.html)のDocker prerequisites節に記載されています。
    - [IBM Knowledge Center の日本語版](https://www.ibm.com/support/knowledgecenter/ja/SSCJDQ/com.ibm.swg.im.dashdb.doc/admin/local_prereqs-Linux.html)ではdevicemapperを使うように記載されています。私が試したところ、devicemapperに対してDb2 Warehouseコンテナを導入することができましたが、コンテナを起動するときに次の警告が表示されます。
        - The recommended Docker storage driver for IBM Db2 Warehouse is overlay2.



# 2. yumローカルリポジトリ作成

作業の流れは次のようになります。

2.1 RHEL binary DVD isoファイルの取得
2.2 RHELのローカルリポジトリ作成
2.3 Docker CEパッケージファイルの取得
2.4 Docker CEのローカルリポジトリ作成

# 2.1 RHEL binary DVD isoファイルの取得
外部サイトにアクセスできる環境であれば、Docker CE導入時に必要となる各種パッケージをyumが自動的に取得します。本記事では外部サイトの代わりに、RHELのDVD isoファイルから各種パッケージを取得するように設定します。外部接続できる環境を使って、Redhat社のページからDVD isoファイルをダウンロードします。（ユーザー登録が必要です）

- https://access.redhat.com/downloads/content/69/ver=/rhel---7/7.8/x86_64/product-software
    - Red Hat Enterprise Linux 7.8 Binary DVDを選んでください。次のファイルが保存されます。
        - rhel-server-7.8-x86_64-dvd.iso


# 2.2 RHELのローカルリポジトリ作成
RHELのDVD isoファイルをマウントします。

```
[root@rhel1 ~]# ls rhel-server-7.8-x86_64-dvd.iso
rhel-server-7.8-x86_64-dvd.iso
[root@rhel1 ~]# mkdir /mnt/iso
[root@rhel1 ~]# mount -t iso9660 rhel-server-7.8-x86_64-dvd.iso /mnt/iso
mount: /dev/loop0 is write-protected, mounting read-only
```

DVD isoファイル内のリポジトリ設定ファイルmedia.repoにmediaidが記載されています。これをこの後の手順で別のリポジトリ設定ファイルにコピーします。

```/mnt/iso/media.repo
[InstallMedia]
name=Red Hat Enterprise Linux 7.8
mediaid=xxxxxxxxxx.xxxxxx
（以下略）
```

次の内容でリポジトリ設定ファイルredhat.repoを作成します。ここに上のmediaidを記入します。

```/etc/yum.repos.d/redhat.repo
[RHEL7-DVD-Server]
mediaid=xxxxxxxxxx.xxxxxx
name=Red Hat Enterprise Linux 7.8
baseurl=file:///mnt/iso
enabled=1
gpgcheck=1
gpgkey=file:///mnt/iso/RPM-GPG-KEY-redhat-release
```

# 2.3 Docker CEパッケージファイルの取得
#### 2.3.1 Dockerサイトから取得
Docker導入済で外部接続できる環境を使ってファイルを3本ダウンロードします。それを導入対象サーバーにアップロードしてホームディレクトリなどに保存します。この記事では導入対象サーバーの`/root/DockerRepo`に保存するものとします。

- https://download.docker.com/linux/centos/7/x86_64/stable/Packages/
    - containerd.io-1.2.6-3.3.el7.x86_64.rpm
    - docker-ce-19.03.9-3.el7.x86_64.rpm
    - docker-ce-cli-19.03.9-3.el7.x86_64.rpm



#### 2.3.2 CentOSサイトから取得
さらに、次の場所からcontainer-selinuxパッケージをダウンロードして、上と同じ`/root/DockerRepo`に保存します。

- http://mirror.centos.org/centos-7/7/extras/x86_64/Packages/
    - container-selinux-2.119.2-1.911c772.el7_8.noarch.rpm

container-selinuxパッケージが欠けていると、Docker CE導入時にそれを要求するエラーが起きます。

```yumerror
[root@rhel1 ~]# yum install docker-ce docker-ce-cli containerd.io
（中略）
--> 依存性解決を終了しました。
エラー: パッケージ: containerd.io-1.2.13-3.2.el7.x86_64 (docker-ce-stable)
             要求: container-selinux >= 2:2.74
エラー: パッケージ: 3:docker-ce-19.03.12-3.el7.x86_64 (docker-ce-stable)
             要求: container-selinux >= 2:2.74
 問題を回避するために --skip-broken を用いることができます。
 これらを試行できます: rpm -Va --nofiles --nodigest
```



# 2.4 Docker CEのローカルリポジトリ作成
#### 2.4.1 Dockerのリポジトリ作成
直前の手順によって`/root/DockerRepo`にDockerパッケージ4本が保存されました。

```
[root@rhel1 ~]# ls /root/DockerRepo/
container-selinux-2.119.2-1.911c772.el7_8.noarch.rpm  docker-ce-19.03.9-3.el7.x86_64.rpm
containerd.io-1.2.6-3.3.el7.x86_64.rpm                docker-ce-cli-19.03.9-3.el7.x86_64.rpm
```

次のコマンドでリポジトリを作成します。その結果`/root/DockerRepo/repodata`が作成されます。

```
[root@rhel1 ~]# createrepo --database /root/DockerRepo
Spawning worker 0 with 1 pkgs
（中略）
Spawning worker 31 with 0 pkgs
Workers Finished
Saving Primary metadata
Saving file lists metadata
Saving other metadata
Generating sqlite DBs
Sqlite DBs complete
```
次の内容でリポジトリ設定ファイルdocker.repoを作成します。

```/etc/yum.repos.d/docker.repo
[DockerRepo]
name=Yum repository of Docker
baseurl=file:///root/DockerRepo
```


#### 2.4.2 Dockerの公開鍵登録
次のURLから公開鍵をダウンロードして`/etc/pki/rpm-gpg/`に`RPM-GPG-KEY-docker-centos`という名前で保存します。（ファイル名は任意です）
    - https://download.docker.com/linux/centos/gpg
保存した鍵をrpmにimportして、結果を確認します。

```
[root@rhel1 ~]# rpm --import /etc/pki/rpm-gpg/RPM-GPG-KEY-docker-centos
/etc/pki/rpm-gpg/RPM-GPG-KEY-docker-centos

[root@rhel1 ~]# rpm -qi gpg-pubkey-* | grep Summary
（中略）
Summary     : gpg(Docker Release (CE rpm) <docker@docker.com>)
```

なお、鍵がrpmに登録されていないと、Docker CE導入時に次のようなエラーが起きます。

```
[root@rhel1 ~]# yum install docker-ce docker-ce-cli containerd.io
（中略）
warning: /root/DockerRepo/docker-ce-cli-19.03.9-3.el7.x86_64.rpm: Header V4 RSA/SHA512 Signature, key ID 621e9f35: NOKEY
docker-ce-cli-19.03.9-3.el7.x86_64.rpm の公開鍵がインストールされていません
```

# 3. Dockerエンジンの導入

作業の流れは次のようになります。

3.1 Docker CEの導入
3.2 Docker CEの動作確認
3.3 Docker CEの設定

# 3.1 Docker CEの導入
次のコマンドを実行して導入します。

```
[root@rhel1 ~]# yum install docker-ce docker-ce-cli containerd.io
読み込んだプラグイン:langpacks, product-id, search-disabled-repos, subscription-manager

This system is not registered with an entitlement server. You can use subscription-manager to register.

依存性の解決をしています
--> トランザクションの確認を実行しています。
---> パッケージ containerd.io.x86_64 0:1.2.6-3.3.el7 を インストール
--> 依存性の処理をしています: container-selinux >= 2:2.74 のパッケージ: containerd.io-1.2.6-3.3.el7.x86_64
---> パッケージ docker-ce.x86_64 3:19.03.9-3.el7 を インストール
---> パッケージ docker-ce-cli.x86_64 1:19.03.9-3.el7 を インストール
--> トランザクションの確認を実行しています。
---> パッケージ container-selinux.noarch 2:2.119.2-1.911c772.el7_8 を インストール
--> 依存性解決を終了しました。

依存性を解決しました

================================================================================================================================
 Package                         アーキテクチャー     バージョン                                 リポジトリー              容量
================================================================================================================================
インストール中:
 containerd.io                   x86_64               1.2.6-3.3.el7                              DockerRepo                26 M
 docker-ce                       x86_64               3:19.03.9-3.el7                            DockerRepo                24 M
 docker-ce-cli                   x86_64               1:19.03.9-3.el7                            DockerRepo                38 M
依存性関連でのインストールをします:
 container-selinux               noarch               2:2.119.2-1.911c772.el7_8                  DockerRepo                40 k

トランザクションの要約
================================================================================================================================
インストール  3 パッケージ (+1 個の依存関係のパッケージ)

総ダウンロード容量: 88 M
インストール容量: 359 M
Is this ok [y/d/N]: y
Downloading packages:
--------------------------------------------------------------------------------------------------------------------------------
合計                                                                                            243 MB/s |  88 MB  00:00:00
Running transaction check
Running transaction test
Transaction test succeeded
Running transaction
  インストール中          : 2:container-selinux-2.119.2-1.911c772.el7_8.noarch                                              1/4
  インストール中          : containerd.io-1.2.6-3.3.el7.x86_64                                                              2/4
  インストール中          : 1:docker-ce-cli-19.03.9-3.el7.x86_64                                                            3/4
  インストール中          : 3:docker-ce-19.03.9-3.el7.x86_64                                                                4/4
  検証中                  : 1:docker-ce-cli-19.03.9-3.el7.x86_64                                                            1/4
  検証中                  : 3:docker-ce-19.03.9-3.el7.x86_64                                                                2/4
  検証中                  : containerd.io-1.2.6-3.3.el7.x86_64                                                              3/4
  検証中                  : 2:container-selinux-2.119.2-1.911c772.el7_8.noarch                                              4/4
RHEL7-DVD-Server/productid                                                                               | 1.6 kB  00:00:00

インストール:
  containerd.io.x86_64 0:1.2.6-3.3.el7       docker-ce.x86_64 3:19.03.9-3.el7       docker-ce-cli.x86_64 1:19.03.9-3.el7

依存性関連をインストールしました:
  container-selinux.noarch 2:2.119.2-1.911c772.el7_8

完了しました!
```


# 3.2 Docker CEの動作確認
hello-worldコンテナを用いてDocker CEの動作確認を行います。Docker導入済で外部サイトにアクセスできる環境を使ってhello-worldコンテナを取得します。

```
他環境> docker save hello-world -o hello-world.tar
```

これをサーバーにアップロードして、ロードできていることを確認し、コンテナを実行します。

```
[root@rhel1 ~]# docker load -i hello-world.tar
9c27e219663c: Loading layer [==================================================>]  15.36kB/15.36kB
Loaded image: hello-world:latest

[root@rhel1 ~]# docker images
REPOSITORY          TAG                 IMAGE ID            CREATED             SIZE
hello-world         latest              bf756fb1ae65        8 months ago        13.3kB

[root@rhel1 ~]# docker run hello-world
Hello from Docker!
This message shows that your installation appears to be working correctly.
（以下略）
```

# 3.3 Docker CEの設定
ストレージドライバーとしてoverlay2を用いるようにDockerを設定します。


#### 3.3.1 バックアップ
ドライバーの変更前に`/var/lib/docker`をバックアップします。

```
[root@rhel1 ~]# systemctl stop docker
[root@rhel1 ~]# cp -au /var/lib/docker /var/lib/docker.bk
```


#### 3.3.2 overlay2ドライバーの設定
次の内容をdocker deamonの設定ファイルに記入します。

```/etc/docker/daemon.json
{
  "storage-driver": "overlay2"
}
```


#### 3.3.3 overlay2ドライバーの確認
Dockerを起動して、overlay2が使われることを確認します。下から3行目にドライバーがoverlay2であると表示されています。

```
[root@rhel1 ~]# systemctl start docker

[root@rhel1 ~]# docker info
Client:
 Debug Mode: false
Server:
 Containers: 3
  Running: 0
  Paused: 0
  Stopped: 3
 Images: 2
 Server Version: 19.03.9
 Storage Driver: overlay2
  Backing Filesystem: xfs
（以下略）
```

なお、IBM Knowledge Centerの[Dockerの前提条件の節](https://www.ibm.com/support/knowledgecenter/ja/SSCJDQ/com.ibm.swg.im.dashdb.doc/admin/local_prereqs-Linux.html)にコンテナのサイズを20GB以上に設定するよう記載されています。これはストレージドライバーとしてdevicemapperを使う場合に該当しますが、本記事で使うoverlay2には関係ありません。

誤ってoverlay2にコンテナサイズのオプションを設定すると、起動時に Job for docker.service failed というエラーが起きてしまいます。


# 4. Db2 Warehouseコンテナイメージの取得
外部サイトに接続できる環境で作業を行います。


#### 4.1 API keyの取得
- WebブラウザからIBM Cloudにログインします。（初めてログインする場合は、登録が必要です）

    - https://cloud.ibm.com/login

- 画面が遷移したら、メニューを次のようにたどります。

    - (画面上部)管理 → アクセス(IAM)
![dashboard.jpg](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/700959/dca8c98a-9478-9336-c600-cf6a1a0f245f.jpeg)

    - (画面左側)APIキー → (画面中央または右)IBM Cloud APIキーの作成
![APIkey.jpg](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/700959/fe427b6a-cabe-f3ee-d111-e00d3c3ccea8.jpeg)

- 「APIキーの作成」ポップアップにて名前を入力します。任意に決めて作成ボタンを押します。

- 「APIキーは正常に作成されました」というポップアップにて、ダウンロードボタンを押します。これで次のjsonファイルが保存されます。


```IBM_Cloud_apikey.json 
{
	"name": "My API Key",
	"description": "",
	"createdAt": "2020-08-18T07:15+0000",
	"apikey": "xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx"
}
```

ファイルのダウンロードは一回しかできないため、このファイルを無くさないようにしましょう。


#### 4.2 コンテナイメージの取得
jsonフィアルに記載されたapikeyを使ってリポジトリ(icr.io)にログインします。続けてイメージ(tarファイル)を取得します。

```
他環境> echo 'xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx' | docker login -u iamapikey --password-stdin icr.io
Login Succeeded

他環境> docker pull icr.io/obs/hdm/db2wh_ee:v11.5.4.0-CN1-db2wh-linux
v11.5.4.0-CN1-db2wh-linux: Pulling from obs/hdm/db2wh_ee
（中略）
72fcd71969c7: Pull complete
Digest: sha256:3e5d5fdda691423f99002354e0e402141afd288faa35dfabbd5b672d8ba9edb6
Status: Downloaded newer image for icr.io/obs/hdm/db2wh_ee:v11.5.4.0-CN1-db2wh-linux
icr.io/obs/hdm/db2wh_ee:v11.5.4.0-CN1-db2wh-linux

他環境> ls db2wh_ee_v11.5.4.0-CN1-db2wh-linux.tar
db2wh_ee_v11.5.4.0-CN1-db2wh-linux.tar 
```

このtarファイルを導入対象サーバーにアップロードします。


# 5. Db2 Warehouseコンテナのデプロイ
アップロードしたイメージ（tarファイル）をロードして、実行します。

```
[root@rhel1 ~]# docker load -i db2wh_ee_v11.5.4.0-CN1-db2wh-linux.tar
（中略）
a2715dab441f: Loading layer [==================================================>]  2.403MB/2.403MB
Loaded image: icr.io/obs/hdm/db2wh_ee:v11.5.4.0-CN1-db2wh-linux

[root@rhel1 ~]# docker run -d -it --privileged=true --net=host --name=Db2wh \
> -v /mnt/clusterfs:/mnt/bludata0 \
> -v /mnt/clusterfs:/mnt/blumeta0 \
> icr.io/obs/hdm/db2wh_ee:v11.5.4.0-CN1-db2wh-linux
0202f667b2c1d0bee1a16e0b147a2f111b6bd62219cac3dcc5a33bdbed3f7ce9

[root@rhel1 ~]# docker logs --follow Db2wh
（中略）
[1413868.371530] start_dashDB_local.sh[53]: #######################################################################
[1413868.375173] start_dashDB_local.sh[53]: ##      --- IBM Db2 Warehouse stack service status summary ---       ##
[1413868.378570] start_dashDB_local.sh[53]: #######################################################################
[1413869.708538] start_dashDB_local.sh[53]: Redirecting to /bin/systemctl status slapd.service
[1413870.883553] start_dashDB_local.sh[53]: SUMMARY
[1413870.883844] start_dashDB_local.sh[53]: Db2TablesOnline               : RUNNING
[1413870.884089] start_dashDB_local.sh[53]: Db2connectivity               : RUNNING
[1413870.884297] start_dashDB_local.sh[53]: Db2running                    : RUNNING
[1413870.884500] start_dashDB_local.sh[53]: LDAPrunning                   : RUNNING
[1413870.884702] start_dashDB_local.sh[53]: WebConsole                    : RUNNING
[1413871.148081] start_dashDB_local.sh[53]: Backing-up the system configuration ...
[1413871.154997] start_dashDB_local.sh[53]: System configuration backed-up to /mnt/blumeta0/SystemConfig/rhel1 on the named volume successfully
[1413933.055046] start_dashDB_local.sh[53]: ********************************************************************************
[1413933.058728] start_dashDB_local.sh[53]: ******                          Congratulations!                          ******
[1413933.062200] start_dashDB_local.sh[53]: ******     You have successfully deployed IBM Db2 Warehouse      ******
[1413933.066090] start_dashDB_local.sh[53]: ********************************************************************************
[1413933.069504] start_dashDB_local.sh[53]: *
[1413933.072765] start_dashDB_local.sh[53]: * Next steps:
[1413933.076029] start_dashDB_local.sh[53]: *
[1413933.079279] start_dashDB_local.sh[53]: * 1. If you were monitoring the container startup progress using docker logs
[1413933.082855] start_dashDB_local.sh[53]: command, use Ctrl+c key-sequence to detach from the Docker logs console.
[1413933.086341] start_dashDB_local.sh[53]: * 3. Log in to the web console using the following information:
[1413933.089672] start_dashDB_local.sh[53]: *        URL: https://xxx.xxx.xxx.xxx:8443
[1413933.093034] start_dashDB_local.sh[53]: *        Default user ID    : bluadmin
*        Default password   : xxxxxxxxxxxxxxxxxxxxxxxxxxxxx
（中略）
[1413934.501874] start_dashDB_local.sh[53]: * 4. For improved security, change the default bluadmin password
[1413934.505954] start_dashDB_local.sh[53]: *        by running "docker exec -it Db2wh setpass <new password>".
[1413934.509524] start_dashDB_local.sh[53]: *        For other user management, use the web console.
[1413934.595884] start_dashDB_local.sh[53]: * Note: Db2wh is an example of a container name. Use the container name
[1413934.596237] start_dashDB_local.sh[53]: that you specified for the docker run command.
[1413934.599805] start_dashDB_local.sh[53]: *
[1413934.603363] start_dashDB_local.sh[53]: ********************************************************************************
（以下略）
```

実際には上のログの中程に表示された5個のRUNNINGの文字が緑色になっていて、正しく動作していることがわかりやすく表示されます。

bluadminのパスワードを変更します。すぐに変更しない場合は上の画面に表示されたbluadminのパスワードをメモして、コンテナやWeb Consoleにログインするときに取り出せるようにします。

```
[root@rhel1 ~]# docker exec -it Db2wh setpass xxxxxxxx
Password successfully updated.
```

導入後の使い方については参考資料として挙げたQiita記事をご覧下さい。