我是 docker 的新手,并且在 vagrant 主机内运行 docker。
我正在主机接口(interface)上运行 redis 服务,该服务正在工作,我可以在主机接口(interface)(例如 localhost:6379)上与其连接。但我无法在 docker 容器内连接它。
我正在运行 docker 容器
docker run -t -i -p 80:80 apache-latest /bin/bash
我能够在 docker0 IP 172.17.42.1 和 lx*** IP 10.0.3.1 上 ping docker 容器内的主机接口(interface)。
我收到连接被拒绝 [tcp://172.17.42.1:6379] 错误。我尝试通过提供 docker0 和 lx* ip 与主机接口(interface)上的 redis 连接,但出现连接被拒绝错误。**
请帮助如何在 docker 容器内连接 redis...
最佳答案
您应该在 Redis 配置文件中检查将 Redis 绑定(bind)到哪个端口:
# config file directive to check:
bind 127.0.0.1
您应该将其绑定(bind)到您可以 ping 通的地址之一(例如 10.0.3.1)。
或者,您可以将 Redis 套接字传递给容器:
# uncomment this section in config file:
unixsocket /lnk/redis.sock
unixsocketperm 755
然后您可以使用-v/lnk:/lnk
将带有套接字的目录传递给容器。您可以使用此套接字而不是 IP 地址与 Redis 进行通信。
关于redis - 无法连接 docker 容器内的主机接口(interface)服务,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/21037983/