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

问题描述 投票:0回答:2

我从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 prepare / 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 /'

docker bigdata vespa
2个回答
1
投票

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


0
投票

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

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

© www.soinside.com 2019 - 2024. All rights reserved.