我可以使用Redis容器[Docker]作为群集吗?
问题描述:
我使用泊坞窗,撰写为我开发信封配置容器和我有3个集装箱(Nginx的,PHP,Redis的)我可以使用Redis容器[Docker]作为群集吗?
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);
不工作
答
我能够通过更改主机URL像
$parameters = ['redis://redis'];
你可以找到可能的方案上Predis可如果你去Predis Connection Factory
来解决这个问题和Predis载体可以协议与Redis的实例
TCP(TCP/IP)进行通信,UNIX(UNIX域套接字)或HT TP(通过Webdis HTTP协议)
答
您可能需要获得该连接的redis的容器的IP地址。
(Assumin Linux)运行docker ps
查找容器的名称(可能是docker_redis_1),然后是docker inspect <container name> | grep IPAddress
。在连接使用此IP地址 -
$options = ['cluster' => '<IP Address of container>'];
提不,这不是工作 – PeterTanath
如果你给了一些不是“它不工作”的更多信息会更加有用。你有什么错误吗? –
好吧,我试图做这样的事情 $ parameters = ['tcp://172.19.0.4:6379'] 但客户端无法建立连接 – PeterTanath