无法将机器的Redis托管到Docker Rails应用

我正在尝试连接docker容器中的rails应用程序,并尝试将其连接到在端口6379上运行的主机的Redis服务器。 我正在

dockefile   博览会3000   展览6379

sudo docker run -it -e RAILS_ENV=development -p 3000:3000 -p 6379:6380 <containerid>

给出错误

Redis::ConnectionError: Connection lost (ECONNRESET)
when redis is running on 6380.

当我尝试在6379上运行Redis时,出现以下错误

sudo docker run -it -e RAILS_ENV = development -p 3000:3000 -p 6379:6379

docker: Error response from daemon: driver failed programming external connectivity on endpoint vigorous_turing (2b5c8e2b4f5df5f1bfcccfdfc87fd5ea78c5c2643de4e00774e7dec67acbd8c4): Error starting userland proxy: listen tcp 0.0.0.0:6379: bind: address already in use.
rainlinlin 回答:无法将机器的Redis托管到Docker Rails应用

如果Redis在主机上运行,​​并且您想在容器外部进行通信,则docker建议使用host.docker.internal

因此,不要将localhost指定为Redis配置中的主机,而应使用host.docker.internal。您的Rails应用现在可以与外界进行交流了。 -p 6379:6379是不必要的

本文链接:https://www.f2er.com/3138778.html

大家都在问