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在本机,这时如何修改?还有代码层面应该如何处理?
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在本机,这时如何修改?还有代码层面应该如何处理?
比较简单的解决方式,根据这个stackoverflow回答,容器里执行一下下面这个命令显示出目前的路由信息,查出的这个『172.17.0.1』(我这边是这个,你那边可能不一样)即为物理机器的ip。
然后物理机器上将防火墙设置一下
然后你在容器里面即可用172.17.0.1这个ip连接物理机。
另外,还有一个比较好的实现方式是在docker-compose.yml里弄一个网桥:
然后192.168.0.1这个ip即为物理机器ip。
另外,这个问题大家在issue吵了很久,你可以看看。