J'essaie de déplacer une application Rails qui fonctionne dans un environnement docker.Solr sur un conteneur docker séparé avec des rails de protection solaire
En suivant la philosophie UNIX (/ docker), je voudrais avoir chaque service dans son propre conteneur.
J'ai réussi à obtenir des redis et postgres fonctionnant bien, mais j'ai du mal à obtenir des slor et des rails qui se parlent.
Dans le fichier app/models/spree/sunspot/search_decorator.rb
lorsque la ligne exécute
@solr_search.execute
apparaissent l'erreur suivante sur la console:
Errno::EADDRNOTAVAIL (Cannot assign requested address - connect(2) for "localhost" port 8983):
Alors que la recherche d'une solution que j'ai trouvé des gens installer solr dans le même conteneur que leurs rails app. Mais je préférerais l'avoir dans un conteneur séparé.
Voici mes config/sunspot.yml
development:
solr:
hostname: localhost
port: 8983
log_level: INFO
path: /solr/development
et docker-compose.yml
fichiers
version: '2'
services:
db:
(...)
redis:
(...)
solr:
image: solr:7.0.1
ports:
- "8983:8983"
volumes:
- solr-data:/opt/solr/server/solr/mycores
entrypoint:
- docker-entrypoint.sh
- solr-precreate
- mycore
networks:
- backend
app:
build: .
env_file: .env
environment:
RAILS_ENV: $RAILS_ENV
depends_on:
- db
- redis
- solr
ports:
- "3000:3000"
tty: true
networks:
- backend
volumes:
solr-data:
redis-data:
postgres-data:
networks:
backend:
driver: bridge
Toutes les suggestions?
Veuillez inclure vos fichiers yml dans la question: les liens externes peuvent disparaître à tout moment – lifeisfoo
@lifeisfoo fait, merci de l'avoir signalé. – jfanals