FIWARE Tour Guide App は、数個の Docker イメージと、コマンドライン・アプリケーションで構成されています。FIWARE Tour Guide App のドキュメントに環境のセットアップが記載されていますが、この記事では、App を確実に動作させるために、環境構築手順を具体的に紹介します。
まず、FIWARE Tour Guide App に環境のセットアップするためには、Linux OS が必要です。Ubuntu 16.04 を仮想マシンにインストールして、Appが正しく動作することを確認しました。CentOS 7 ではコマンドライン・アプリケーションでエラーが発生しました。スクリプトを修正することで正常に動作することを確認できました。
この記事では、Ubuntu 16.04 への環境構築を紹介します。まず、仮想マシン等に Ubuntu 16.04 が動作する環境を用意してください。フロントエンド・アプリケーションで、Web ブラウザを使用するため、デスクトップ環境をインストールするか、MobaXterm 等の X サーバが利用できる環境を準備してください。
1. Docker エンジンと Docker Compose をインストールして、動作していることを確認してください。
1 2 3 4 5 6 7 |
$ sudo apt-get install -y docker-engine=17.05.0~ce-0~ubuntu-xenial $ sudo curl -L https://github.com/docker/compose/releases/download/1.6.2/docker-compose-`uname -s`-`uname -m` > /usr/local/bin/docker-compose $ sudo chmod +x /usr/local/bin/docker-compose $ sudo docker -v Docker version 17.05.0-ce, build 89658be $ sudo docker-compose -v docker-compose version 1.6.2, build 4d72027 |
1 |
$ apt-get install -y git curl bc chromium-browser |
2. Toue Guide App のソースコードを Github からクローンして、tour-guide コマンドの check オープションで必要なプログラムがインストールされていることを確認してください。
1 2 3 4 5 6 7 8 9 10 11 12 |
$ git clone https://github.com/Fiware/tutorials.TourGuide-App.git $ cd tutorials.TourGuide-App $ ./tour-guide check Checking for the required commands: * docker: Found. * docker-compose: Found. * curl: Found. * bc: Found. * nc: Found. All required commands found. |
3. docker-compse を使って、コンテナ群を起動してください。初回は Docker HUB からコンテナ・イメージをダウンロードするため、少し時間がかかります。”Starting” メッセージのあと、少し時間をおいて、”docker ps” を実行しコンテナ群が稼働していることを確認してください。
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 |
$ sudo docker-compose up -d Starting mongodb Starting authzforce Starting orion Starting idas Starting ul20client Starting mysql Starting cygnus Starting keyrock Starting tourguide $ sudo docker ps CONTAINER ID IMAGE COMMAND CREATED STATUS PORTS NAMES 40f44f37abf7 fiware/tutorials.tourguide-app:latest "/docker-entrypoin..." 11 days ago Up 25 seconds tourguide ea4d0d99fcb1 fiware/idm:v5.3.0 "/bin/sh -c 'sudo ..." 11 days ago Up 25 seconds 0.0.0.0:5000->5000/tcp, 0.0.0.0:8000->8000/tcp keyrock 948120f285d0 fiware/cygnus-ngsi:develop "/cygnus-entrypoin..." 11 days ago Up 26 seconds 5050/tcp, 8081/tcp cygnus 79db155319cd mysql:5.5 "docker-entrypoint..." 11 days ago Up 26 seconds 3306/tcp mysql 804ea5cb41b5 fiware/iotagent-ul:develop "/bin/sh -c 'bin/i..." 11 days ago Up 27 seconds 0.0.0.0:4041->4041/tcp, 0.0.0.0:7896->7896/tcp idas 781b319ca666 fiware/orion:latest "/usr/bin/contextB..." 11 days ago Up 27 seconds 0.0.0.0:1026->1026/tcp orion e539f3acc77a fiware/authzforce-ce-server:release-5.4.0b "catalina.sh run" 11 days ago Up 27 seconds 8080/tcp authzforce efad99d71947 fiware/tutorials.tourguide-app.restaurant-data:20161011 "/entrypoint.sh --..." 11 days ago Up 28 seconds 27017/tcp mongodb |
4. コンテナ名と IP アドレスを /etc/hosts に追加します。”sudo ./tour-guide configure hosts -m” の実行で、/etc/hosts が更新されます。
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 |
$ sudo ./tour-guide configure hosts Operating System: Linux No hosts file specified. Using OS default: /etc/hosts ### BEGIN Docker container IPs ### 172.17.0.10 tourguide tourguide 172.17.0.9 keyrock keyrock 172.17.0.8 cygnus cygnus 172.17.0.7 mysql iot-mysql mysql 172.17.0.5 idas idas 172.17.0.4 orion orion 172.17.0.3 authzforce authzforce 172.17.0.2 mongodb mongo mongodb ### END Docker container IPs ### $ sudo ./tour-guide configure hosts -m Operating System: Linux No hosts file specified. Using OS default: /etc/hosts Backing up '/etc/hosts' to '/etc/hosts.tourguide.20180101.014953' Modifying /etc/hosts $ cat /etc/hosts 127.0.0.1 localhost # The following lines are desirable for IPv6 capable hosts ::1 ip6-localhost ip6-loopback fe00::0 ip6-localnet ff00::0 ip6-mcastprefix ff02::1 ip6-allnodes ff02::2 ip6-allrouters ff02::3 ip6-allhosts ### BEGIN Docker container IPs ### 172.17.0.10 tourguide tourguide 172.17.0.9 keyrock keyrock 172.17.0.8 cygnus cygnus 172.17.0.7 mysql iot-mysql mysql 172.17.0.5 idas idas 172.17.0.4 orion orion 172.17.0.3 authzforce authzforce 172.17.0.2 mongodb mongo mongodb ### END Docker container IPs ### |
5. 最後に、Tour Guide App が正常に稼働したことを確認するため、Orion Context Broker にリクエストを投げて、バージョン情報を確認してみましょう。以下のような応答があれば正常です。
1 2 3 4 5 6 7 8 9 10 11 12 13 |
$ curl orion:1026/version { "orion" : { "version" : "1.10.0-next", "uptime" : "0 d, 0 h, 5 m, 30 s", "git_hash" : "55e1e9c4e6d3c5cfd9265fa9e11b468df7c7e9ad", "compile_time" : "Tue Jan 16 18:07:53 UTC 2018", "compiled_by" : "root", "compiled_in" : "13172fa5cbea", "release_date" : "Tue Jan 16 18:07:53 UTC 2018", "doc" : "https://fiware-orion.readthedocs.org/en/master/" } } |
以上で環境構築は終了です。コンテキスト情報の管理の章から、FIWARE を実機で体験してください。