Ioredis с контейнером redis Laradock - PullRequest
0 голосов
/ 28 января 2019

У меня есть приложение, построенное на Laravel.Я использую Laradock и пытаюсь использовать контейнер Redis , но у меня проблема с подключением.

С командой:

docker inspect laradock_redis_1

Я вижу, что: "IP-адрес": "172.22.0.2",

By В моем интерфейсе я пытаюсь подключиться к Redis с помощью ioredis:

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,

Или изменение порта в docker-compose с 1111, но это пока не работает.Что я делаю не так?

1 Ответ

0 голосов
/ 28 января 2019

Вместо использования IP-адреса контейнера вы можете использовать name of the container или, если вы используете docker-compose.yml, вы можете использовать name of the service вместо IP-адреса.Так что что-то в этом роде будет работать:

const redis = new Redis({
                 port: 6379,
                 host: laradock_redis_1
               });
...