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

我使用docker-compose为我的Dev Envconfiguration容器,并且我有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); 

不pipe用

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

(Assumin Linux)运行docker docker psfind容器的名字(可能是docker_redis_1),然后docker docker inspect <container name> | grep IPAddress docker inspect <container name> | grep IPAddress 。 在连接中使用此IP地址 –

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

我能通过改变主机的URL来解决这个问题

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

如果您去Predis连接工厂,您可以在Predis上find可能的scheme

并且Predis支持可能协议与Redis的一个实例进行通信

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

就像在连接参数中提到的一样