首页 > 解决方案 > 在 vespa 的同一个容器上部署多个应用程序包

问题描述

我已经从 git clone https://github.com/vespa-engine/sample-apps.git下载了示例 vespa 应用程序。我创建了相同的应用程序,例如我命名为location的基本搜索。现在我想使用以下步骤将这两个应用程序部署在同一个容器上:

部署基本搜索应用程序:

sudo docker run --detach --name vespa1 --hostname vespa-container --privileged --volume $VESPA_SAMPLE_APPS:/vespa-sample-apps --publish 8080:8080 vespaengine/vespa

sudo docker exec vespa1 bash -c 'curl --head http://localhost:19071/ApplicationStatus '

sudo docker exec vespa1 bash -c '/opt/vespa/bin/vespa-deploy 准备 /vespa-sample-apps/basic-search/src/main/application/ && /opt/vespa/bin/vespa-deploy activate'

curl -s --head http://localhost:8080/ApplicationStatus

要部署位置应用程序:

sudo docker run --detach --name vespa2 --hostname vespa-container --privileged --volume $VESPA_SAMPLE_APPS:/vespa-sample-apps --publish 8081:8081 vespaengine/vespa

sudo docker exec vespa2 bash -c 'curl --head http://localhost:19071/ApplicationStatus '

sudo docker exec vespa2 bash -c '/opt/vespa/bin/vespa-deploy prepare /vespa-sample-apps/location/src/main/application/ && /opt/vespa/bin/vespa-deploy activate'

curl -s --head http://localhost:8081/ApplicationStatus

第一个应用程序已成功部署,但在第二个应用程序中我收到此错误:命令失败。找不到目录或 zip 文件:'/vespa-sample-apps/location/src/main/application/'

标签: dockerbigdatavespa

解决方案


要部署第二个应用程序,我需要使用 8081|8080 发布它。因为 vespa-container 在 8080 上运行,而我试图在 8081 端口上运行。在 localhost 上使用 8081 并在 8080 上使用 vespa-container 运行后,它可以工作。现在我可以使用多个端口部署多个应用程序。


推荐阅读