laravel - PRedis/Laravel 无法在启动时解析主机 - [tcp://:6379]
问题描述
我在 Rancher 上的 Laravel/Redis docker 堆栈有问题。每次启动 Predis 时都会出现此错误
php_network_getaddresses: getaddrinfo failed: Name does not resolve [tcp://:6379]
Docker-compose.yml:
服务: 应用程序: 图片:已编辑/服务内联网:${APP_VERSION} 环境: - DB_MIGRATE=真 - 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 取决于: - 雷迪斯 命令:sh -c '/run/wait-for.sh redis:6379 --timeout=30 --strict -- /run/start.sh' 链接: -redis:redis 雷迪斯: 图片:已编辑/services-redis:staging-latest 命令:[“redis-server”,“--appendonly”,“yes”] 卷: - Intranet-redis:/数据 标签: io.rancher.scheduler.affinity:host_label: type=database io.rancher.scheduler.affinity:host_label: redis=true 重启:总是 卷: 内网-redis: 司机:本地
wait-for.sh 脚本运行良好,发现 redis 没问题。但似乎它在应用程序容器的 supervisord.conf 期间失败了
[监督] 日志文件=/var/log/supervisor/supervisord.log;监督日志文件 logfile_maxbytes=50MB;旋转前日志文件的最大大小 日志文件备份=10;备份的日志文件数 日志级别=错误;信息、调试、警告、跟踪 pidfile=/var/run/supervisord.pid ; pid文件位置 节点=真;运行 supervisord NOT 作为守护进程 minfds=1024 ; 启动文件描述符的数量 minprocs=200 ; 进程描述符的数量 用户=根;默认用户 childlogdir=/var/log/supervisor/;子日志文件将存放在哪里 [程序:php-fpm] 命令=php-fpm7 -F stdout_logfile=/dev/stdout stdout_logfile_maxbytes=0 stderr_logfile=/dev/stderr stderr_logfile_maxbytes=0 自动重启=假 开始重试=0 [程序:nginx] 命令=nginx -g '守护进程关闭;' stdout_logfile=/dev/stdout stdout_logfile_maxbytes=0 stderr_logfile=/dev/stderr stderr_logfile_maxbytes=0 自动重启=假 开始重试=0 [程序:laravel-worker] process_name=%(program_name)s_%(process_num)02d command=php /web/html/artisan queue:work --sleep=3 --tries=3 自动启动=真 自动重启=真 用户=根 numprocs=2 重定向标准错误=真 stdout_logfile=/dev/stdout stdout_logfile_maxbytes = 0 stderr_logfile=/dev/stderr stderr_logfile_maxbytes=0
如果我通过 SSH 连接到容器中,我可以使用 redis-cli ping redis 服务器并且所有 DNS 解析都正确完成,这只是初始启动。
解决方案
推荐阅读
- python - Textacy 没有模块预处理或规范化空格
- c# - 起订量设置报告“表达式不是方法调用”
- javascript - 未捕获的类型错误:无法读取未定义的属性“ref”
- python - 如何通过 XPath 从具有多个条件选项的动态图表中进行 Web 抓取?
- pyspark - 使用 pyspark 将 unix_timestamp 列转换为字符串
- c++ - 带参考的矢量
- python - 通过标签名称在 Matplotlib.pie 中设置颜色
- apache-spark - pyspark unix_timestamp 有时会返回 null
- ios - 使用 RunLoop.current.run 清理 SimplePing 代码
- node.js - 如何将处理后的数据推送到列表,然后从快递发送响应?