首页 文章

在vespa中的同一容器上部署多个应用程序包

提问于
浏览
0

我从git clone https://github.com/vespa-engine/sample-apps.git下载了样本vespa应用程序 . 我创建了像 basic-search 这样的应用程序,我将其命名为 location . 现在我想使用以下步骤在同一容器上部署两个应用程序:

部署 basic-search 应用程序:

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 prepare / vespa-sample-apps / basic-search / src / main / application / && / opt / vespa / bin / vespa-deploy activate'

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

部署 location 应用程序:

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 /'

2 回答

  • 0

    要部署第二个应用程序,我需要使用8081 | 8080发布它 . 因为vespa-container在8080上运行,我试图在8081端口上运行 . 在8080上运行localhost和8080上的vespa-container后,它运行起来 . 现在我可以使用多个端口部署多个apllications .

  • 1

    要完成这项工作,您需要使用“baseport”概念为每个应用程序的所有进程分配不同的端口 . 但是,对不同的应用程序使用不同的Docker容器要简单得多 . 这还提供了您在不同应用程序之间需要的资源隔离 .

    请注意,如果属于同一应用程序的功能确实不同,则可以在同一个应用程序中(在同一个services.xml文件中)设置多个单独的群集,或者只是将多个模式添加到同一个群集中 .

相关问题