gpt4 book ai didi

docker - 如何使用 Docker Compose 连接到 Redis 容器?

转载 作者:IT老高 更新时间:2023-10-28 12:43:56 29 4
gpt4 key购买 nike

这个 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/

29 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com