Docker上的Solr:localhost:8983无法正常工作

时间:2016-03-19 16:46:55

标签: solr docker

我按照https://hub.docker.com/_/solr/中提到的步骤操作,并在windows上的docker容器中安装了solr。

访问管理控制台:http://localhost:8983/solr抛出“ERR_Connection_Refused”。

docker ps输出-a:

CONTAINER ID        IMAGE                             COMMAND                  CREATED             STATUS                           PORTS
ca473cca4747        solr5.5.0        "/opt/solr/bin/solr -"   19 minutes ago      Up 19 minutes                    0.0.0.0:8983->8983/tcp

我可以通过运行

成功创建核心
docker exec -it --user=solr my_solr bin/solr create_core -c gettingstarted

检查泊坞窗容器中的solr状态:

Found 1 Solr nodes:

Solr process 1 running on port 8983
{
  "solr_home":"/opt/solr/server/solr",
  "version":"5.5.0 2a228b3920a07f930f7afb6a42d0d20e184a943c - mike - 2016-02-16 15:22:52",
  "startTime":"2016-03-19T16:23:03.215Z",
  "uptime":"0 days, 0 hours, 22 minutes, 29 seconds",
  "memory":"39.3 MB (%8) of 490.7 MB"}

Butstill http://localhost:8983/solrhttp://localhost:8983/solr/admin无法访问

2 个答案:

答案 0 :(得分:3)

由于您提到您在Windows上使用Docker Machine,因此访问已发布端口的方式与本机Linux上的方式略有不同。 Docker Machine在您的笔记本电脑上创建了一个虚拟机,该虚拟机运行Linux以支持Docker。该虚拟机具有自己的IP地址。您可以运行docker-machine ipdocker-machine ip <machine_name>并将<machine_name>替换为Docker Machine的实际名称,如果不同于default,则可以获取IP地址。

然后,您将使用该VM IP地址访问已发布的端口。在我的本地Mac上使用Docker Machine,它将是http://192.168.99.100:8983/solr/admin。它也可能是Windows上类似的IP地址。

答案 1 :(得分:0)

您可以尝试的另一种方法是使用0.0.0.0而不是localhost与Solr Web服务器通信:

http://0.0.0.0:8983/solr

GET http://localhost:8983/solr的请求也没有对我做出回应(只是停留而没有任何回应)

在以下环境为我工作:

  • linux
  • solr容器成群运行
  • solr容器发布了8983端口
  • solr:7.7.1-alpine
  • 从容器运行的节点访问solr ui