从位于docker中的应用程序连接到Redis服务器

时间:2018-01-25 01:50:34

标签: docker redis

修改

对于那些与我有同样问题的人,请在此处查看问题/解决方案: How to access host port from docker container

TL; DR如果您是MAC用户,请使用“docker.for.mac.localhost”而不是“localhost”或“127.0.0.1”

所以我有一个在docker容器中运行的应用程序。现在我想设置Docker的Redis服务器“OUTSIDE”并使docker中的应用程序利用服务器。

我安装了Redis服务器,它运行良好。主机名是127.0.0.1,端口号是6379.我在应用程序的配置中设置了它。

但是,该应用程序返回一条错误消息,表明已拒绝连接127.0.0.1:6379。

我认为应用程序知道Redis服务器在那里,但出于某些原因(我猜权限问题?),Redis服务器已拒绝连接尝试。

请与我分享任何可以解决此问题的方法。谢谢!

1 个答案:

答案 0 :(得分:1)

在docker容器中,ip 127.0.0.1只能连接到容器内的服务器。你必须使用主机的IP地址连接到主机的redis服务器。并在主机:netstat -apn | grep 6379中运行此命令,检查您的redis服务器正在侦听哪个IP。如果它是127.0.0.1,你只能从主机连接到它,不能从容器连接。