簡體   English   中英

Postgres無法連接到Solr Docker容器

[英]Postgres fails to connect to a solr Docker container

我正在創建用於Rails開發的Docker環境,但是在postgres和solr彼此連接時遇到了一些困難,並且正在尋找有關如何修復它的指導。

我已經創建了一個docker-compose文件,以及用於查看某些頁面的rails環境。 這是我的docker-compose文件:

app:
  build: .
  command: rails server -p 3000 -b '0.0.0.0'
  volumes:
    - .:/app
  ports:
    - "3000:3000"
  links:
    - postgres
    - solr
postgres:
  image: postgres:10.7
  ports:
    - "5432:5432"
solr:
  image: solr:8.1.1
  ports:
    - "8983:8983"
  links:
    - postgres

但是,任何rake任務(例如rake db:seed或rake db:populate:all)都會失敗,並顯示錯誤消息Errno::EADDRNOTAVAIL: Failed to open TCP connection to localhost:8983 (Cannot assign requested address - connect(2) for "localhost" port 8983)

我希望該端口可用,因為在我的計算機上,我可以轉到localhost:8983 / solr並能夠看到solr管理員窗口,但是由於某些原因,當我運行rake命令時,postgres無法找到solr。 任何幫助將不勝感激,因為我目前很困,並且不知道該怎么辦。

這里有2分:

  1. --link已棄用,建議您刪除--links docker-compose.yaml配置的所有docker-compose.yaml Compose將為您設置一個自定義網橋,並自動添加使您的服務可以互相訪問的dns,請參閱

  2. app服務中,對於您的Rails代碼,我猜您使用類似localhost:8983的名稱訪問solr service 您可以將代碼更改為使用solr:8983 ,然后內部dns將引導您的應用查找solr服務。

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM