Невозможно связать приложение redis-commander с сервисом redis (в облачной среде) - PullRequest
0 голосов
/ 01 сентября 2018

Я работаю с Application Cloud от Swisscom, основанного на Cloud Foundry. Я безуспешно пытался связать приложение redis-container со службой redis.

Воспроизвести:

  1. Создайте сервис Redis на вашем аккаунте
  2. вытолкнул голое приложение из официального образа докера:

    cf push redis-client --docker-image rediscommander/redis-commander -k 1G -m 128M
    
  3. Привязать приложение к сервису (я использовал веб-администратора)

  4. Добавить соответствующие переменные среды в ваш контейнер Redis Commander (значения которого получены из VCAP_SERVICE)

    REDIS_HOST="kubernetes-service-node.service.consul"
    REDIS_PORT="xxxxx"
    REDIS_PASSWORD="xxxxx"
    K8S_SIGTERM=1
    

Вы получите следующую ошибку в журналах, которые мешают приложению от начала:

2018-08-29 23:40:51 [APP/PROC/WEB/0] ERR setUpConnection Redis error Error: getaddrinfo ENOTFOUND redis redis:44506
2018-08-29 23:40:51 [APP/PROC/WEB/0] ERR at errnoException (dns.js:50:10)
2018-08-29 23:40:51 [APP/PROC/WEB/0] ERR at GetAddrInfoReqWrap.onlookup [as oncomplete] (dns.js:92:26)

В поисках помощи я понял, что образ rediscommander / redis-commander основан на alpine и не инкапсулирует bind-tools. Поэтому я создал образ cortexia / redis-commander , чтобы добавить их.

Но я все равно получаю ту же ошибку. Вероятно, это связано с тем, что образ redis-commander был усилен с помощью этого сценария , чтобы уменьшить поверхность атак, но я не знаю, так ли это, и какие инструменты не следует "укреплять" »...

Приветствуется любая помощь, чтобы заставить работать redis-commander в Application Cloud!

...