无法与docker容器内的主机接口服务连接

pra*_*hat 2 redis vagrant docker

我是一个新手的码头工人,并在流浪者主持人中运行码头工人.

我正在主机接口上运行redis服务,它正在工作,我可以在主机接口上连接它,如localhost:6379.但是我无法在docker容器中连接它.

我正在运行docker container as

docker run -t -i -p 80:80 apache-latest /bin/bash
Run Code Online (Sandbox Code Playgroud)

我能够在docker0 IP 172.17.42.1和lx***ip 10.0.3.1上的docker容器内ping主机接口.

我收到Connection拒绝[tcp://172.17.42.1:6379]错误.我尝试通过提供docker0和lx* ip来连接主机接口上的redis我收到连接拒绝错误.**

请帮助如何在docker容器中连接redis ...

Jir*_*iri 5

您应该在redis配置文件中检查redis绑定到哪个端口:

# config file directive to check:
bind 127.0.0.1
Run Code Online (Sandbox Code Playgroud)

您应该将其绑定到您可以ping的其中一个地址(fe 10.0.3.1).

或者,您可以将redis套接字传递给容器:

# uncomment this section in config file:
unixsocket /lnk/redis.sock
unixsocketperm 755
Run Code Online (Sandbox Code Playgroud)

然后,您可以使用-v /lnk:/lnk将带有套接字的目录传递给容器.您可以使用此套接字而不是IP地址与redis进行通信.