このガイドではDockerを使って1台のマシン上にVespaをインストールして起動する方法を説明します。
必要条件:
$ git clone https://github.com/vespa-engine/sample-apps.git $ export VESPA_SAMPLE_APPS=`pwd`/sample-apps
$ docker run --detach --name vespa --hostname vespa-container --privileged \ --volume $VESPA_SAMPLE_APPS:/vespa-sample-apps --publish 8080:8080 vespaengine/vespa
volume
オプションで、事前にダウンロードしたソースコードにDockerコンテナ内の/vespa-sample-apps
としてアクセスできるようになります。
検索やフィード用のインタフェースにアクセスできるように、Dockerコンテナの外に8080
ポートを公開します。
vespa
の名前で同時に稼働できるDockerコンテナは1つまでです。必要あらば変更してください。
上記のコマンドの具体的なステップに興味がある場合は、Dockerfile と起動スクリプトを参照してください。
$ docker exec vespa bash -c 'curl -s --head http://localhost:19071/ApplicationStatus'
$ docker exec vespa bash -c 'vespa-deploy prepare /vespa-sample-apps/basic-search/src/main/application/ && \ vespa-deploy activate'さらなるサンプル・アプリケーションはsample-appsで見つけることができます。 アプリケーション・パッケージのアプリケーションの項目を参照してください。
$ curl -s --head http://localhost:8080/ApplicationStatus
$ curl -s -H "Content-Type:application/json" --data-binary @${VESPA_SAMPLE_APPS}/basic-search/music-data-1.json \ http://localhost:8080/document/v1/music/music/docid/1 | python -m json.tool $ curl -s -H "Content-Type:application/json" --data-binary @${VESPA_SAMPLE_APPS}/basic-search/music-data-2.json \ http://localhost:8080/document/v1/music/music/docid/2 | python -m json.toolこの例ではドキュメントAPIを使っています。 大規模なデータを高速にフィードするにはJava Feeding APIを使ってください。
$ curl -s http://localhost:8080/search/?query=bad | python -m json.tool
$ curl -s http://localhost:8080/document/v1/music/music/docid/2 | python -m json.toolブラウザでlocalhost:8080/search/?query=badの結果を参照してください。 詳しくはQuery APIを参照してください。
終わったらクリーンアップする
必要なくなった稼働中のコンテナを停止する:
$ docker stop vespa
必要に応じて、停止したコンテナを完全に削除する:
$ docker rm vespa