docker搭建了PHP和redis环境,但PHP在本机无法连接到redis。

docker搭建了PHP和redis环境,PHP已经安装了redis扩展,PHP脚本在本机坏境下无法连接到redis,等了一会儿直接返回404,通过redis-cli也无法连接。

redis-cli -h 外网IP -p 6379

然后相同得代码,在另外两台机器上都可以成功连接redis,命令行下也是成功的,百思不得其解,求大神解答。
代码如下:

$redis = new Redis();
$redis->connect('外网ip', 6379);
$count = $redis->get('count');
阅读 4.8k
1 个回答

如果php和redis都是容器,那在启动容器的时候可以加一个link参数
启动redis:docker run --name redis -p 6379:6379 -itd redis
启动php:docker run --name php --link redis:redis -itd php

然后在php容器中连接redis

$redis = new Redis();
// 就用redis这个字符串,和--link时设置的字符串一致
$redis->connect('redis', 6379);
$count = $redis->get('count');

--link参数其实就是在php容器的/etc/hosts加了一个redis容器的ip:host映射

撰写回答
你尚未登录,登录后可以
  • 和开发者交流问题的细节
  • 关注并接收问题和回答的更新提醒
  • 参与内容的编辑和改进,让解决方法与时俱进
推荐问题