簡體   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