LoginSignup
9
6

More than 5 years have passed since last update.

Docker版API ConnectをMacで動かす

Last updated at Posted at 2017-01-24

API ConnectがDocker対応したので、Mac上のDocker for MACで動かしてみる。Ubuntu上のDockerで動かす手順はDocker対応したAPI Connectを導入、稼動させるで説明されている。後半の手順は同じだが、Macで動かす際との違いを中心に補足する。
ちなみに、API ConnectのDocker版は現時点では開発用途でのみ利用可能で、本番用途では使えないため注意。

参考リンク

  • API Connect 製品マニュアル

Installing and configuring IBM API Connect in a Docker container

  • Docker for Macドキュメント

Get started with Docker for Mac

環境について

今回利用するPCは、MacBook Air (13-inch, Early 2015)。
スペックとOSバージョンは以下のとおり。

  • MACOS Sierra(バージョン10.12.2)
  • プロセッサ 1.6GHz Intel Core i5 (2core)
  • メモリ 8GB 1600 MHz DDR3

API ConnectのDocker版を動かすには、2core CPUと8GBメモリが必要とのことなので、このスペックのPCで試してみる。

Docker for MACのインストール

Docker for MACのサイトからDocker for MACをダウンロードする。左側のStableの方をダウンロード。
Kobito.RFHOVv.png

ダウンロードしたdocker.dmgを実行する。(数秒で完了)
Dockerアイコンをアプリケーションフォルダーにドラッグ&ドロップする。
Kobito.tbrHs1.png

Dockerアプリケーションを起動する。
Kobito.hJeuAy.png

Nextをクリック。
スクリーンショット 2017-01-19 19.04.06.png

OKをクリック。
スクリーンショット 2017-01-19 19.06.08.png

パスワードを聞かれたらパスワードを入力する。
Dockerのインストールが完了して、上部のステータスバーにDockerアイコンが表示される。Dockerはすでに起動している模様。
スクリーンショット 2017-01-19 19.09.57.png

ここで、Dockerに割り当てるメモリが2GBになっているので、8GBに変更する。ステータスバーのDockerアイコンを右クリックして、Preferencesを開き、メモリを2GBから8GBに変更して、Apply & Restartをクリックする。
(2GBのままやっていると、DataPowerがメモリが足りずにすぐに停止してしまい、不安定となってしまう。API Connectのマニュアルにも8GB必要と書いてある。)
スクリーンショット 2017-01-23 16.24.36.png

ステータスバーのアイコンをクリックして、About Dockerを選択すると、導入したDockerのバージョンが確認できる。
バージョンは1.12.6となっている。

スクリーンショット 2017-01-20 12.09.44.png

コマンドで導入したバージョンを確認してみると、以下の通り。

$ docker --version
Docker version 1.12.6, build 78d1802
$ docker-compose --version
docker-compose version 1.9.0, build 2585387
$ docker-machine --version
docker-machine version 0.8.2, build e18a919

API Connectで前提としているDockerのバージョンは以下(2017年1月23日時点)なので、この環境で問題なさそうである。
+ docker 1.12.0 or later.
+ docker-compose 1.8.1 or later.

hello-worldをpullして実行してみる。
(いきなりdocker run hello-worldでも、ローカルリポジトリになかったらpullしてくれるはずだけど、なぜかうまくいかなかったので、一回pullしてからrunしたらうまくいった。)

$ docker pull hello-world
$ docker run hello-world

gitコマンドをインストール

API ConnectをDockerを動かすには、gitのリポジトリからクローンを作る手順になっているので、gitも入れておく。
ターミナルでgitと入力して実行すると、gitが入っていない場合には、以下のようにツールをインストールするように促されるので、インストールをクリック。
スクリーンショット 2017-01-20 15.34.54.png
同意するをクリック。
スクリーンショット 2017-01-20 15.36.57.png

インストール中。
スクリーンショット 2017-01-20 15.38.38.png
2-3分くらいで終わる。
スクリーンショット 2017-01-20 15.42.03.png

API Connectのインストール

マニュアルを参考にして、インストール。
説明等は簡略化しているので、こちらの記事も同時に見てください。

まずは、Docker Hostの任意の場所に、API ConnectのDockerリポジトリーのクローンを作成する。

$ git clone https://github.com/strongloop/apiconnect-docker

作成したクローンのルートフォルダで以下のコマンドを実行する。ダウンロードもするので結構時間がかかる。

$ docker run -it --rm --env SHOW_LICENSE=1 ibmcom/apiconnect:manager-v5.0.6.0

作成したクローンのルートフォルダーにある.envファイルを設定する。

ACCEPT_LICENSE=true
APIC_VERSION=v5.0.6.0
SMTP_HOST=smtp.gmail.com
SMTP_PORT=587
SMTP_SENDER=nxxxx@gmail.com
SMTP_USERNAME=xxxx@gmail.com
SMTP_PASSWORD=xxxx

以下のコマンドで起動。時間がかかる。

$ docker-compose up -d

起動時のログを見るには、以下のコマンドでログをtailできる。

docker-compose logs -f

起動には少し時間がかかる。

サービスの起動状況を確認する。
以下のような感じでUpになっていればOK。

$ docker-compose ps
    Name                   Command               State               Ports             
--------------------------------------------------------------------------------------
apim            /tini -- /startup.sh             Up                                    
datapower       /start.sh                        Up       443/tcp                      
esmaster        /docker-entrypoint.sh /bin ...   Up       9200/tcp, 9300/tcp           
ibmlogstash     /bin/sh -c /startup.sh           Up                                    
ibmportal       /root/tini -- /root/start_ ...   Up                                    
make-ssh-keys   /bin/sh -c /genkey.sh            Exit 0                                
microservice    /bin/sh -c /usr/bin/app.sh ...   Up       8080/tcp                     
nginx           /bin/sh -c /run.sh               Up       0.0.0.0:443->443/tcp, 80/tcp     

/etc/hostsにDocker HostのIPアドレスとAPI Connect関連の名前を追加する。

127.0.0.1 apim ibmportal datapower microservice

APIマネージャーやDataPowerなどのコンテナー上のコンポーネントはDocker Hostと同一IPアドレスとなる。このhostsに登録した名前でアクセスすることで、フロントでnginxが各コンポーネントへ振り分けしてくれている模様。

Cloud Manager(https://apim/cmc)にアクセスして、ログインする。
+ ユーザー : admin
+ パスワード : !n0r1t5@C

スクリーンショット 2017-01-23 14.53.37.png

無事にログインできた!

この後は、こちらの記事を参考にしながら、通常通り設定をしていけばOK。

案外簡単に動いたし、必要リソースも少なくてサクサク動くのでかなり快適。

9
6
0

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
9
6