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 を実機で体験してください。

 
											 
							
							
							
															 
							
							
							
															 
							
							
							
															 
										
					 
									


