带有Laradock Redis容器的Ioredis连接超时

时间:2019-01-28 11:29:12

标签: laravel redis laradock

我有一个基于Laravel构建的应用程序。 我正在使用 Laradock ,并且正在尝试使用 Redis容器,但是我在连接方面遇到了问题。

使用命令:

docker inspect laradock_redis_1

我可以看到:“ IP地址”:“ 172.22.0.2”,

通过前端,我尝试使用ioredis连接到Redis:

import Redis from 'ioredis';
const redis = new Redis({
                 port: 6379,
                 host: 172.22.0.2,
                 password: "password"
               });
redis.on('pmessage', function(subscribed, channel, message) {
...
})

但是我无法连接,因为出现此错误:

  

[ioredis]未处理的错误事件:错误:连接ETIMEDOUT

我也在尝试更改IP和端口,例如:

port: 6379,
host: 127.0.0.1,

或使用1111更改docker-compose上的端口,但仍无法使用。 我在做什么错了?

1 个答案:

答案 0 :(得分:0)

您可以使用name of the container而不是使用容器ip地址,或者如果使用的是docker-compose.yml,则可以使用name of the service代替ip地址。因此,遵循以下原则将起作用:

const redis = new Redis({
                 port: 6379,
                 host: laradock_redis_1
               });
相关问题