[英]Issue accessing vespa outside docker container
按照以下链接https://docs.vespa.ai/documentation/vespa-quick-start.html中指定的步骤,在Mac上安装Docker并尝试在Docker上运行Vespa。
到步骤4为止,我没有任何问题。我看到在步骤2和步骤3之后运行的vespa容器返回了200 OK响应。
但是步骤5无法返回200 OK响应。 下面是我在终端curl -s --head http:// localhost:8080 / ApplicationStatus上运行的命令
我不断
curl: (52) Empty reply from server
每当我不带-s选项运行时,都会curl: (52) Empty reply from server
。
因此,我尝试查看vespa容器中的侦听端口,看不到8080的任何内容,但可以看到19071(在步骤3中使用)
➜ ~ docker exec vespa bash -c 'netstat -vatn| grep 8080'
➜ ~ docker exec vespa bash -c 'netstat -vatn| grep 19071'
tcp 0 0 0.0.0.0:19071 0.0.0.0:* LISTEN
以下文档具有与vespa端口相关的信息
https://docs.vespa.ai/documentation/reference/files-processes-and-ports.html
我假设端口8080应该在docker run(快速启动链接的步骤2)之后处于活动状态,并且可以在完成端口映射后在容器外部进行访问。 但是我首先没有看到8080端口在容器内部处于活动状态。 我错过了什么吗? 除了快速入门中提到的以外,我还需要执行其他任何步骤吗? 仅供参考,我在docker内部安装了Jenkins,并能够通过端口映射访问外部容器。 但是不确定为什么它不能与vespa一起使用。我一直在安静的地方尝试,但是没有任何进展。 如果我在这里缺少东西,请告诉我。
您的Docker容器的内存太低,“专用于Docker的最小6GB内存(在Mac上默认为2GB)。”。 参见https://docs.vespa.ai/documentation/vespa-quick-start.html
死锁检测器警告和无法从配置服务器获取配置(可能已被oom杀死)表明您的内存太低。
我的猜测是您的jdisc容器尚未完成初始化或未正确初始化? 您是否尝试检查日志?
docker exec vespa bash -c '/opt/vespa/bin/vespa-logfmt /opt/vespa/logs/vespa/vespa.log'
这应该告诉您是否有问题。 准备接收请求时,您会看到类似以下内容:
[2018-12-10 06:30:37.854] INFO : container Container.org.eclipse.jetty.server.AbstractConnector Started SearchServer@79afa369{HTTP/1.1,[http/1.1]}{0.0.0.0:8080}
[2018-12-10 06:30:37.857] INFO : container Container.org.eclipse.jetty.server.Server Started @10280ms
[2018-12-10 06:30:37.857] INFO : container Container.com.yahoo.container.jdisc.ConfiguredApplication Switching to the latest deployed set of configurations and components. Application switch number: 0
[2018-12-10 06:30:37.859] INFO : container Container.com.yahoo.container.jdisc.ConfiguredApplication Initializing new set of configurations and components. Application switch number: 1
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.