【问题标题】:Communicating with a Solr 4.10 container in docker-compose在 docker-compose 中与 Solr 4.10 容器通信
【发布时间】:2016-05-04 19:11:27
【问题描述】:

我正在尝试在 Web 服务器上使用 Docker-Compose、Django 和 Solr 设置搜索引擎。在本例中,我使用的是 Solr 4.10。

我的问题是,虽然我可以正确设置 Solr 服务、数据库和 Django 应用程序,但 Solr 服务拒绝与其建立连接。任何从我的 IP 地址访问 Solr 管理面板的尝试都不会加载管理面板,但也不会超时,这意味着我的页面挂起等待 Solr 面板发送回复。

我从this 问题中发现,如果我是转发端口,我将能够访问http://localhost:8983/solr/ 上的管理面板。所以这让我假设它拒绝所有外部连接。

我尝试了一种指定 here 的方法,它只允许特定的 IP 地址(无论如何我都想要),但这似乎也不起作用,因为我的连接在两端仍然被拒绝。

作为参考,我的 Solr 容器使用 Jetty,这是我的 docker-compose.yml:

solr:
  build: /home/ubuntu/search_engine_foodily_solr/SOLR_4.10/.
  ports:
    - "8983:8983"
  volumes:
    - /home/ubuntu/search_engine_foodily_solr/schema.xml

db:
  image: postgres:latest
  environment:
    POSTGRES_PASSWORD: searcher
    POSTGRES_USER: searcher
  volumes:
    - ./backups:/home/backups

web:
  build: .
  command:  bash -c "sleep 5 && python -u search_engine/manage.py runserver 0.0.0.0:8080"
  volumes:
    - .:/code
    - ../static:/code/static
  ports:
    - "80:8080"
  links:
    - db
    - solr 
  environment:
    - PYTHONUNBUFFERED=0

【问题讨论】:

标签: django solr docker lucene docker-compose


【解决方案1】:

我实际上遇到了同样的问题。所以我试图做的不是将 solr 链接到 web 容器,如下所示。它终于奏效了。

solr:
  build: /home/ubuntu/search_engine_foodily_solr/SOLR_4.10/.
  ports:
    - "8983:8983"
  volumes:
    - /home/ubuntu/search_engine_foodily_solr/schema.xml

db:
  image: postgres:latest
  environment:
    POSTGRES_PASSWORD: searcher
    POSTGRES_USER: searcher
  volumes:
    - ./backups:/home/backups

web:
  build: .
  command:  bash -c "sleep 5 && python -u search_engine/manage.py runserver 0.0.0.0:8080"
  volumes:
    - .:/code
    - ../static:/code/static
  ports:
    - "80:8080"
  links:
    - db
  environment:
    - PYTHONUNBUFFERED=0 

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 2019-03-07
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2018-06-21
    • 2019-05-19
    • 2020-09-10
    • 1970-01-01
    相关资源
    最近更新 更多