【发布时间】: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
【问题讨论】:
-
使用镜像构建容器时能否访问管理面板? hub.docker.com/_/solr
标签: django solr docker lucene docker-compose