【发布时间】:2018-09-12 18:51:39
【问题描述】:
我已经从 git clone https://github.com/vespa-engine/sample-apps.git 下载了示例 vespa 应用程序。我创建了相同的应用程序,例如 basic-search,我将其命名为 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激活'
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/'
【问题讨论】:
-
具有两个不同值(
vespa1和vespa2)的--name参数往往会表示您在两个不同的容器中运行,不是吗? -
那么我应该怎么做才能将两个应用程序部署在同一个容器中?你能告诉我我做错了什么吗?另外,如果你觉得合适,请支持我的问题。
-
只是问题的名称具有误导性,因为您没有“在 vespa 中的同一个容器上部署多个应用程序包”,而是尝试启动两个 Vespa 容器并在这些容器上部署不同的应用程序两个容器