PRedis/Laravel не удалось разрешить хост при загрузке - [tcp://:6379]

У меня проблема с моим стеком док-станции Laravel/Redis на Rancher. Когда он загружается, Predis имеет эту ошибку

php_network_getaddresses: getaddrinfo failed: Name does not resolve [tcp://:6379]

Docker-compose.yml:

        Сервисы:
      приложение:
        изображение: УДАЛЕНО / сервис-интранет:${APP_VERSION}
        среда:
          - DB_MIGRATE=true
          - DB_CONNECTION=mysql
          - DB_HOST=${STAGING_DB_HOST}
          - DB_PORT=${STAGING_DB_PORT}
          - DB_DATABASE=${STAGING_DB_DATABASE}
          - DB_USERNAME=${STAGING_DB_USERNAME}
          - DB_PASSWORD=${STAGING_DB_PASSWORD}
          - REDIS_HOST=redis
          - REDIS_PORT=6379
          - JWT_TOKEN=${JWT_TOKEN}
          - APP_KEY=${STAGING_APP_KEY}
          - APP_URL=${INTRANET_URL}
          - AUTH_URL=${AUTH_URL}
          - AUDIT_URL=${AUDIT_URL}
          - BILLING_URL=${BILLING_URL}
          - BUSINESSES_URL=${BUSINESSES_URL}
          - GROUPS_URL=${GROUPS_URL}
          - MESSAGING_URL=${MESSAGING_URL}
          - PERMISSIONS_URL=${PERMISSIONS_URL}
          - UI_URL=${UI_URL}
          - USERS_URL=${USERS_URL}
        метки:
            io.rancher.scheduler.affinity:host_label: type=node
            io.rancher.scheduler.affinity:host_label: services=true
        зависит от:
          - Redis
        команда: sh -c '/run/wait-for.sh redis:6379 --timeout=30 --strict - /run/start.sh'
        ссылки по теме:
          - redis: redis
      Redis:
        изображение: УДАЛЕНО / services-redis: последние постановки
        команда: ["redis-server", "--appendonly", "yes"]
        объемы:
          - интранет-редис: / data
        метки:
          io.rancher.scheduler.affinity:host_label: type=database
          io.rancher.scheduler.affinity:host_label: redis=true
        перезагрузка: всегда
    объемы:
      интранет-Redis:
        водитель: местный

Сценарий wait-for.sh работает нормально и не находит проблем с повторным использованием. Но похоже, что его сбой во время supervisord.conf для контейнера приложения

    [Supervisord]
    logfile=/var/log/supervisor/supervisord.log; лог-файл супервизора
    logfile_maxbytes=50 МБ; максимальный размер файла журнала перед вращением
    logfile_backups=10; количество резервных копий лог-файлов
    loglevel = ошибка; информация, отладка, предупреждение, трассировка
    pidfile=/var/run/supervisord.pid; расположение pidfile
    nodaemon = правда; запустить supervisord НЕ как демон
    minfds=1024; количество дескрипторов файла запуска
    minprocs=200; количество дескрипторов процесса
    пользователь =root; пользователь по умолчанию
    childlogdir=/var/log/supervisor/; где будут жить файлы журнала

    [Программа: PHP-FPM]
    команда = php-fpm7 -F
    stdout_logfile = / DEV / стандартный вывод
    stdout_logfile_maxbytes=0
    stderr_logfile=/ DEV / STDERR
    stderr_logfile_maxbytes=0
    Автоперезапуск = ложь
    startretries=0

    [Программа: Nginx]
    command=nginx -g 'демон выключен;'
    stdout_logfile=/ DEV / стандартный вывод
    stdout_logfile_maxbytes=0
    stderr_logfile=/ DEV / STDERR
    stderr_logfile_maxbytes=0
    Автоперезапуск = ложь
    startretries=0

    [Программа: Laravel-работник]
    process_name=%(program_name) S _%(process_num)02d
    command=php /web/html/artisan queue:work --sleep=3 --tries=3
    автозапуск = верно
    Автоперезапуск = верно
    пользователь = корень
    numprocs=2
    redirect_stderr= верно
    stdout_logfile = / DEV / стандартный вывод
    stdout_logfile_maxbytes=0
    stderr_logfile=/ DEV / STDERR
    stderr_logfile_maxbytes=0

Если я помещаю SSH в контейнер, я могу использовать redis-cli для проверки связи с сервером redis, и все разрешения DNS завершаются правильно, это просто начальная загрузка.

0 ответов

Другие вопросы по тегам