繁体   English   中英

我可以使用Redis容器[Docker]作为集群吗?

[英]Can I use Redis container [Docker] as cluster?

我正在使用docker-compose为我的Dev Env配置容器,我有3个容器(nginx,php,redis)

version: '3'

services:
    php:
        ..
    nginx:
        ..
    redis:
        image: redis
        ports:
          - 6379:6379

我正在使用Predis从php容器连接到Redis,我的问题是:当我做类似的事情时,我正在尝试在集群模式下工作

$parameters = ['redis'];
$options    = ['cluster' => 'redis'];

$client = new Predis\Client($parameters, $options);

不管用

您可能需要获取redis容器的IP地址以进行连接。

(在Linux中假定)运行docker docker ps来找到容器的名称(可能是docker_redis_1),然后docker docker inspect <container name> | grep IPAddress docker inspect <container name> | grep IPAddress 在连接中使用此IP地址-

$options    = ['cluster' => '<IP Address of container>'];

我可以通过更改主机网址来解决此问题

$parameters = ['redis://redis'];

如果您转到Predis Connection Factory,可以在Predis上找到可用的方案

和Predis支持可以与Redis实例进行通信的协议

tcp(TCP / IP),unix(UNIX域套接字)或http(通过Webdis的HTTP协议)

喜欢它在连接参数中提到

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM