DBPedia 聚焦 docker 返回卷曲:(56) Recv 失败:连接被对等方重置

DBPedia spotlight docker returning curl: (56) Recv failure: Connection reset by peer

我正在尝试通过以下方式设置带有 docker 图片的本地 dbpedia spotlight 服务器:

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

图像 运行s 我在提示时得到了这个 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

甚至一个 header 集合:

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 有关?

感谢您的时间和关注。

https://github.com/dbpedia-spotlight/spotlight-docker/blob/master/v1.0/english/Dockerfile 检查 Spotlight 的 Dockerfile,它没有配置入口点。

请在 docker 命令末尾添加 spotlight.sh,例如:

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

此外,也许您想 运行 使用 -d 参数而不是交互模式 -i 将其作为服务。

祝一切顺利,

感谢 Sandro 指出在 运行 设置 docker 时需要 运行 spotlight.sh 以及非常有用的 -d 标志,但是 docker 工作并停止返回卷曲错误 56 的原因是 --restart unless-stopped 根据需要指示的标志 here

运行 这对我有用:

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

显然,如果该标志关闭,docker 就会关闭。我个人没有在 ubuntu 18.04 上观察到这种行为,我是通过 ssh 运行 进行此操作,但是当我决定在 [=27] 上本地安装 docker =] machine,图像不会停留 运行ning 超过一分钟。添加此标志使 Spotlight 请求在两种环境下都能正常工作。

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