IBM API ConnectのAPIゲートウェイとして利用されるDataPower GatewayはDocker版を提供している。
このDocker版DataPower GatewayをMacで動かす手順についてまとめてみる。
前半部分は、Docker for Macの導入手順になるので、Docker版API ConnectをMacで動かすの前半部分とほぼ同じであるが、Docker for Macのバージョンが新しくなっていたりするので、改めて記載する。
参考リンク
-
DataPowerのDockerイメージ
Docker Hubのibmcom/datapowerリポジトリー -
DataPowerのDocker版導入手順(マニュアル)
https://www.ibm.com/support/knowledgecenter/ja/SS9H2Y_7.5.0/com.ibm.dp.doc/virtual_runningdockerimage.html -
Docker for Macドキュメント
https://docs.docker.com/docker-for-mac/install/
環境について
今回利用するPCは、MacBook Pro (13-inch, 2016)。
スペックとOSバージョンは以下のとおり。
MACOS Sierra(バージョン10.12.3)
プロセッサ 3.3GHz Intel Core i7 (2core)
メモリ 16GB 2133 MHz LPDDR3
DataPowerのDocker版を動かすには、2core CPUと4GBメモリが必要とマニュアルに書いてあるので、このスペックのPCで試してみる。
Docker for MACのインストール
以下のサイトからDocker for Macをダウンロードする。Stableを選択。
https://docs.docker.com/docker-for-mac/install/
ダウンロードしたDocker.dmgを実行して、DockerアイコンをApplicationsにドラッグ&ドロップする。
Dockerアプリケーションを起動。
パスワードを入力すると、Dockerが起動し、上部のステータスバーにDockerアイコンが表示される。
ここで、Dockerに割り当てるメモリが2GBになっているので、8GBに変更する。ステータスバーのDockerアイコンをクリックして、Preferencesを開き、Advancedタブで、メモリを2GBから8GBに変更して、Apply & Restartをクリックする。
(API Connectのマニュアルより、最低メモリ4GB、CPU 2コアが必要となっている。)
ステータスバーのアイコンをクリックして、About Dockerを選択すると、導入したDockerのバージョンが確認できる。
バージョンは17.03.1となっている。
コマンドで導入したバージョンを確認してみると以下の通り。
$ docker --version
Docker version 17.03.1-ce, build c6d412e
$ docker-compose --version
docker-compose version 1.11.2, build dfed245
$ docker-machine --version
docker-machine version 0.10.0, build 76ed2a6
DataPowerのインストール
DataPowerのリポジトリーからdocker pullする。
$ docker pull ibmcom/datapower
Using default tag: latest
latest: Pulling from ibmcom/datapower
44841faa4a91: Pull complete
3d22e78e4ead: Pull complete
Digest: sha256:dd1c925fd070ba09068009ee1857588d2c24f8ac017411da920a4e9889231829
Status: Downloaded newer image for ibmcom/datapower:latest
以下のコマンドでDataPowerを起動。
5秒くらいで上がってきた。以下の感じでログ出力されている。
$ docker run --name datapower -it -e DATAPOWER_ACCEPT_LICENSE=true -e DATAPOWER_INTERACTIVE=true -p 9090:9090 ibmcom/datapower
20170512T063935.156Z [0x8040006b][system][notice] logging target(default-log): Logging started.
20170512T063935.492Z [0x804000fe][system][notice] : Container instance UUID: f6c4df13-d933-4790-9f9f-f0b2c9e977dc, Cores: 2, vCPUs: 2, CPU model: Intel(R) Core(TM) i7-6567U CPU @ 3.30GHz, Memory: 7973.7MB, Platform: docker, OS: dpos, Edition: developers-limited, Up time: 0 minutes
20170512T063935.512Z [0x8100006f][system][notice] : Executing default startup configuration.
20170512T063935.512Z [0x8040001c][system][notice] : DataPower IDG is on-line.
20170512T063935.946Z [0x8100006d][system][notice] : Executing system configuration.
20170512T063935.947Z [0x8100006b][mgmt][notice] domain(default): tid(8031): Domain operational state is up.
20170512T063939.112Z [0x806000dd][system][notice] cert-monitor(Certificate Monitor): tid(399): Enabling Certificate Monitor to scan once every 1 days for soon to expire certificates
20170512T063945.459Z [0x8100003b][mgmt][notice] domain(default): Domain configured successfully.
ユーザーadmin
、パスワードadmin
でログインできる。
login: admin
Password: *****
Welcome to IBM DataPower Gateway console configuration.
Copyright IBM Corporation 1999-2017
Version: IDG.7.5.2.6 build 286852 on Apr 21, 2017 10:45:02 AM
Serial number: 0000001
idg#
以下のコマンドでWeb UIを有効化する。
idg# configure terminal
Global configuration mode
idg(config)# web-mgmt
Modify Web Management Service configuration
idg(config web-mgmt)# admin-state "enabled"
idg(config web-mgmt)# local-address "eth0_ipv4_1" "9090"
idg(config web-mgmt)# idle 0
idg(config web-mgmt)# exit
ブラウザからlocalhostへ9090ポートでアクセスすると、DataPowerのログイン画面が表示。ユーザーadmin
、パスワードadmin
でログインできる。
https://localhost:9090/
DataPowerの停止と起動
docker ps
コマンドで確認すると、コンテナーの起動状態を確認できる。
$ docker ps
CONTAINER ID IMAGE COMMAND CREATED STATUS PORTS NAMES
3511aa7664be ibmcom/datapower "/bin/drouter" 11 days ago Up 5 seconds 0.0.0.0:9090->9090/tcp datapower
docker stop
コマンドで停止できる。
$ docker stop datapower
datapower
docker start
コマンドで再度起動できる。
$ docker start -i -a datapower
以上、VM版や物理アプライアンス版のDataPowerと比べ物にならないくらい早く上がってきて、軽量に使えそうです。