Ich versuche, eine Suchmaschine mit Docker-Compose, Django und Solr auf einem Webserver einzurichten. In diesem Fall verwende ich Solr 4.10.Kommunikation mit einem Solr 4.10 Container in docker-compose
Mein Problem ist, dass, während ich den Solr-Dienst, die Datenbank und die Django-Anwendung korrekt einrichten kann, der Solr-Dienst Verbindungen zu ihm verweigert. Jeder Versuch, von meiner IP-Adresse aus auf das Solr-Admin-Panel zuzugreifen, führt dazu, dass das Admin-Panel überhaupt nicht geladen wird, aber auch kein Timeout. Das heißt, meine Seite bleibt hängen und wartet darauf, dass das Solr-Panel eine Antwort sendet.
Ich fand heraus von this Frage, dass, wenn ich Forward-Ports wäre, ich auf das Admin-Panel auf http://localhost:8983/solr/ zugreifen könnte. Das führt mich zu der Annahme, dass es alle externen Verbindungen ablehnt.
Ich probierte eine Methode here für nur spezifische IP-Adressen (die ich sowieso wollen würde), aber das scheint nicht zu funktionieren, da meine Verbindung immer noch auf beiden Seiten abgelehnt wird.
Als Referenz mein Solr Container verwendet Jetty und hier ist mein 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
Können Sie auf das Admin-Panel zugreifen, wenn Sie den Container mit einem Image erstellen? https://hub.docker.com/_/solr/ – erroneousboat