DBPedia聚光灯docker返回curl。(56) 接收失败。连接被对等体重置

问题描述 投票:1回答:1

我试图通过调用docker镜像来设置一个本地dbpedia spotlight服务器。

sudo docker run -i -p 2222:80 dbpedia/spotlight-english spotlight.sh

镜像运行时,我得到这样的提示 sudo docker ps:

CONTAINER ID        IMAGE                       COMMAND             CREATED              STATUS              PORTS                  NAMES
02282289ae64        dbpedia/spotlight-english   "/bin/sh"           About a minute ago   Up About a minute   0.0.0.0:2222->80/tcp   sleepy_meninsky

但当我发送一个简单的请求时,如:

curl http://0.0.0.0:2222/rest/annotate?text=COOPER+Has+the+FBI+said+anything+about+a+reward+or+anything+%5C%3F+Because+there+was+that+there+was+a+reward+for+finding+her&confidence=0.5

甚至是一个有头的请求

curl -X POST http://localhost:2222/rest/annotate -H 'accept: application/json' -H 'content-type: application/x-www-form-urlencoded' --data-urlencode "text=President Obama called Wednesday on Congress to extend a tax break for students included in last year's economic stimulus package, arguing that the policy provides more generous assistance" --data-urlencode "confidence=0.35"

我得到同样的错误。

curl: (56) Recv failure: Connection reset by peer

谁能帮帮我?这是否与我运行docker时需要使用sudo有关?

谢谢您的时间和关注。

docker dbpedia spotlight-dbpedia
1个回答
1
投票

检查Spotlight的Docker文件在 https:/github.comdbpedia-spotlightspotlight-dockerblobmasterv1.0englishDockerfile。它没有配置入口点。

请在你的docker命令末尾添加spotlight.sh,如:docker run -d -p 2222:80 dbpediaspotlight-english。

docker run -d -p 2222:80 dbpediaspotlight-english spotlight.sh等。

另外,也许你想用-d参数而不是交互模式-i作为服务运行。

一切顺利。


0
投票

感谢Sandro指出,需要运行 spotlight.sh 当运行docker时,也为非常有用的 -d 标志,但让docker工作并停止返回curl错误56的是 --restart unless-stopped 号令 此处

运行这个工作对我来说。

sudo docker run -itd --restart unless-stopped -p 2222:80 dbpedia/spotlight-english spotlight.sh

很明显,如果这个标志被关闭,docker就会瘫痪。我个人还没有在ubuntu 18.04上观察到这种行为,我是通过ssh运行的,但当我决定在Mac机上本地安装docker时,镜像不会保持运行超过一分钟。添加这个标志使spotlight请求在两种环境下都能工作。

希望这能帮助其他面临同样问题的人。

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