我在我的计算机(mac os High Sierra 10.13.4)上为Rails应用程序工作。我通过Homebrew安装了Postgres,Redis和ElasticSearch。 我最近开始在新分支上对应用程序进行Docker化。
当我回到主分支时,没有任何冲泡服务正在工作:
PG::ConnectionBad - could not connect to server: Connection refused
感谢https://dba.stackexchange.com/questions/75214/postgresql-not-running-on-mac
无法连接到Redis
我通过运行redis-cli
Errno::ECONNREFUSED - Failed to open TCP connection to localhost:9200 (Connection refused - connect(2) for "::1" port 9200)
我尝试停止/启动,卸载/重新安装elasticsearch甚至卸载/重新安装Homebrew。我正在考虑重新安装计算机。
我不了解在docker上进行的工作如何破坏我计算机上的服务,我认为它应该可以解决此类问题。
对于使Elasticsearch正常工作的任何帮助,我们将不胜感激!
答案 0 :(得分:0)
此答案仅是推测。更多信息可能有助于我们了解此处的实际情况。
Docker容器还在运行吗?
如果是,它们使用与Mac上这些服务相同的端口吗?
如果以上两个问题的答案均为 是 ,则说明您已找到问题。
我的意思是,如果容器正在运行,并且其中一个容器已映射到端口9200
,则该端口也恰好是Mac上默认监听所需服务的端口,那么这些服务将无法在该端口上运行,因为其中一个容器已经在使用该服务。
解决方案:在这种情况下,请停止容器并尝试再次运行服务