Redis getaddrinfo не работает в контейнере

Поставил контейнер php7.3-fpm, в него добавил redis через pecl. Сам php обрабатывает любые запросы нормально, а вот Redis, и, я подозреваю, Zend в принципе, не хочет даже запрашивать никакие днс (снял дамп внутри и снаружи контейнера).

Вот такая ошибка:

Warning: Redis::connect(): php_network_getaddresses: getaddrinfo failed: Name or service not known in /var/www/script.php on line 7

Fatal error: Uncaught RedisException: php_network_getaddresses: getaddrinfo failed: Name or service not known in /var/www/script.php:7 Stack trace: #0 /var/www/script.php(7): Redis->connect('redis1:6391') #1 /var/www/login.php(6): include('/var/www/script...') #2 {main} thrown in /var/www/script.php on line 7

В целом мне днсы не нужны - я хотел обращаться к redis по ip, но он и на ip ругается, а запросы не делает. strace в докере не умею, но судя по всему, нужны какие-то библиотеки. Подскажите, куда копать.

Вот инфа из phpinfo:

 Zend Extension 320180731
    Zend Extension Build    API320180731,NTS
    PHP API 20180731
    PHP Extension   20180731
    Redis Version   5.3.1
    Redis Sentinel Version  0.1
    redis.arrays.algorithm  no value    no value
    redis.arrays.auth   no value    no value
    redis.arrays.autorehash 0   0
    redis.arrays.connecttimeout 0   0
    redis.arrays.consistent 0   0
    redis.arrays.distributor    no value    no value
    redis.arrays.functions  no value    no value
    redis.arrays.hosts  no value    no value
    redis.arrays.index  0   0
    redis.arrays.lazyconnect    0   0
    redis.arrays.names  no value    no value
    redis.arrays.pconnect   0   0
    redis.arrays.previous   no value    no value
    redis.arrays.readtimeout    0   0
    redis.arrays.retryinterval  0   0
    redis.clusters.auth no value    no value
    redis.clusters.cache_slots  0   0
    redis.clusters.persistent   0   0
    redis.clusters.read_timeout 0   0
    redis.clusters.seeds    no value    no value
    redis.clusters.timeout  0   0
    redis.pconnect.connection_limit 0   0
    redis.pconnect.echo_check_liveness  1   1
    redis.pconnect.pool_pattern no value    no value
    redis.pconnect.pooling_enabled  1   1
    redis.session.lock_expire   0   0
    redis.session.lock_retries  10  10
    redis.session.lock_wait_time    2000    2000
    redis.session.locking_enabled   0   0

Версия докера:

Docker version 19.03.8, build afacb8b7f0

Контейнер внутри Gentoo


Ответы (1 шт):

Автор решения: qzaki

дело было не в бобине: в новой версии нельзя вот так:

Redis->connect('redis1:6391')

нужно отдельно писать хост и порт:

Redis->connect('redis1',6391)
→ Ссылка