作者热门文章
- mongodb - 在 MongoDB mapreduce 中,如何展平值对象?
- javascript - 对象传播与 Object.assign
- html - 输入类型 ="submit"Vs 按钮标签它们可以互换吗?
- sql - 使用 MongoDB 而不是 MS SQL Server 的优缺点
这个 docker-compose.yml
似乎工作正常:
version: '3'
services:
web:
image: web-app
command: bundle exec rackup
ports:
- "9292:9292"
links:
- redis
redis:
image: redis
命令:
docker build -t web-app .; docker-compose up
Web 应用需要一个 REDIS_URL 配置。 Web 应用程序 Dockerfile:
ENV REDIS_URL redis:6379
Web App似乎无法连接到Redis:
Redis::CannotConnectError - Error connecting to Redis on 127.0.0.1:6379 (Errno::ECONNREFUSED):
那么,Web 应用的 Redis URL 是什么?
是否需要公开 Redis 端口 (6379)?
编辑:
感谢@Andy Shinn,我看到 redis url 应该是 redis://6379
。
现在我得到 Errno::EINVAL - Invalid argument - connect(2) for 0.0.24.235:6379
。这可能与 Redis v 3.2.8 有关。我会尝试另一个版本,看看它是否有效。
编辑#2:
3.2.8 可以在我的本地计算机上正常使用该应用程序,所以这不是问题。
最佳答案
问题在于 redis
是“变量”,将被插入到 Dockerfile 中。
ENV REDIS_URL redis:6379
但 Redis URL 应该以 literal redis
开头。
因此,修复正在更新 docker compose:
redis_db:
image: redis:3.2.8
所需的配置是:
REDIS_URL=redis://redis_db:6379
感谢 BMitch 和 Andy Shinn 帮助我解决这个问题。
关于docker - 如何使用 Docker Compose 连接到 Redis 容器?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/42376867/
我正在开发一个 voip 调用应用程序。我需要做的是在接到来电时将 Activity 带到前台。我在应用程序中使用 Twilio,并在收到推送消息时开始调用。 问题是我试图在接到任何电话时显示 Act
我是一名优秀的程序员,十分优秀!