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 завершаются правильно, это просто начальная загрузка.