我想將一個工作的Rails應用程序移動到碼頭環境。Solr與單獨的碼頭集裝箱與太陽黑子軌道
遵循UNIX(/ docker)理念,我希望每個服務都在自己的容器中。
我設法得到的Redis和Postgres工作正常,但我掙扎着爬SLOR和Rails互相交談。
在文件app/models/spree/sunspot/search_decorator.rb
當行執行
@solr_search.execute
以下錯誤出現在控制檯上:
Errno::EADDRNOTAVAIL (Cannot assign requested address - connect(2) for "localhost" port 8983):
雖然研究,因爲我已經找到人只是安裝的Solr在同一容器作爲一種解決方案他們的rails應用程序但我寧願將它放在單獨的容器中。
這裏是我的config/sunspot.yml
development:
solr:
hostname: localhost
port: 8983
log_level: INFO
path: /solr/development
和docker-compose.yml
文件
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
有什麼建議?
請在您的問題YML文件:外部鏈接可以隨時消失 – lifeisfoo
@lifeisfoo做,謝謝你指出來。 – jfanals