使用docker-compose实现微服务,如何让容器连接物理机器的redis?
version: '3.6'
services:
web:
image: cfanbo/swoole4_php7:v1
volumes:
- /Users/sxf/sites/msgserve:/usr/src/myapp
command: "php src/server.php start"
容器用swoole开发的一个守护进程,需要用到redis数据库,redis在本机,这时如何修改?还有代码层面应该如何处理?
如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。
绑定邮箱获取回复消息
由于您还没有绑定你的真实邮箱,如果其他用户或者作者回复了您的评论,将不能在第一时间通知您!
发布评论
评论(1)
比较简单的解决方式,根据这个stackoverflow回答,容器里执行一下下面这个命令显示出目前的路由信息,查出的这个『172.17.0.1』(我这边是这个,你那边可能不一样)即为物理机器的ip。
然后物理机器上将防火墙设置一下
然后你在容器里面即可用172.17.0.1这个ip连接物理机。
另外,还有一个比较好的实现方式是在docker-compose.yml里弄一个网桥:
然后192.168.0.1这个ip即为物理机器ip。
另外,这个问题大家在issue吵了很久,你可以看看。