redisConnectOptions
const redisConnectOptions: RedisConnectOptions = { hostname: "redis://redis-stack", port: 6379,};
docker-compose.yml
redis-stack: image: redis/redis-stack:latest container_name: redis-stack ports: - "6379:6379" - "6380:8001" networks: - my-network
docker log
2024-05-19 18:53:04 error: Uncaught (in promise) Error: failed to lookup address information: Name or service not known2024-05-19 18:53:04 : await Deno.connect(dialOpts);2024-05-19 18:53:04 ^2024-05-19 18:53:04 at async Object.connect (ext:deno_net/01_net.js:587:55)2024-05-19 18:53:04 at async RedisConnection.#connect (https://deno.land/x/redis@v0.32.0/connection.ts:190:11)2024-05-19 18:53:04 at async RedisConnection.#connect (https://deno.land/x/redis@v0.32.0/connection.ts:222:7)2024-05-19 18:53:04 at async RedisConnection.#connect (https://deno.land/x/redis@v0.32.0/connection.ts:222:7)2024-05-19 18:53:04 at async RedisConnection.#connect (https://deno.land/x/redis@v0.32.0/connection.ts:222:7)2024-05-19 18:53:04 at async RedisConnection.#connect (https://deno.land/x/redis@v0.32.0/connection.ts:222:7)2024-05-19 18:53:04 at async RedisConnection.#connect (https://deno.land/x/redis@v0.32.0/connection.ts:222:7)2024-05-19 18:53:04 at async RedisConnection.#connect (https://deno.land/x/redis@v0.32.0/connection.ts:222:7)2024-05-19 18:53:04 at async RedisConnection.#connect (https://deno.land/x/redis@v0.32.0/connection.ts:222:7)2024-05-19 18:53:04 at async RedisConnection.#connect (https://deno.land/x/redis@v0.32.0/connection.ts:222:7)
const redisConnectOptions: RedisConnectOptions = { hostname: "127.0.0.1", port: 6379,};
错误信息表明在尝试连接到名为 redis://redis-stack
的 Redis 服务器时发生了 DNS 解析错误,即“Name or service not known”。这通常意味着客户端无法将主机名 redis://redis-stack
解析为 IP 地址。
问题出在 redisConnectOptions
的 hostname
字段上。hostname
应该只包含 Redis 服务器的名称或 IP 地址,而不是包含协议前缀(如 redis://
)。
修改后的 redisConnectOptions
应该是这样的:
const redisConnectOptions: RedisConnectOptions = { hostname: "redis-stack", // 移除 "redis://" 前缀 port: 6379,};
另外,请确保:
docker-compose.yml
文件中已经设置了 my-network
)。redis-stack
来代替任何 IP 地址或外部主机名。如果您的应用是在容器内运行的,请确保您的容器也在 my-network
网络中,以便能够解析 redis-stack
这个服务名。如果应用是在宿主机上运行的,您可能需要使用容器的 IP 地址或宿主机的 IP 地址(如果端口映射到了宿主机),并可能还需要调整防火墙规则以允许外部连接。
在大多数情况下,如果您的应用程序也在通过 Docker Compose 部署,那么只需使用容器名称即可进行通信,前提是它们都在同一个网络内。
问题内容: 我有应用程序,使用过Tornado和tornado-redis。我开始[redis]中的[image“ app” 然后我想将我的应用程序与redis链接: 我有错误: 我已经用本地tornado和redis测试了我的代码,并且可以正常工作。问题在 为什么我的应用无法连接到Redis容器?如何解决?我使用标准端口6379。 谢谢! 问题答案: 尝试在上使用redis 。(请参见此处的源代
我正在尝试从另一个码头工人容器连接到 kafka docker 容器。但它没有连接。 为了运行kafka和zookeeper,我使用了docker compose文件: 容器docker compose 17138956372294708100 _ kafkatest . producer _ 1和docker compose 17138956372294708100 _ kafkatest .
我想在一个docker容器中运行Rabbitmq服务器,并使用芹菜从另一个容器连接到它(http://celeryproject.org/) 我已使用以下命令运行rabbitmq。。。 然后通过 当我试图做非常基本的教程来验证http://docs.celeryproject.org/en/latest/getting-started/first-steps-with-celery.html 我得
要运行测试文件,Flask应用程序需要连接到Redis。我尝试将这些URL用于redis主机,如localhost:6379,redis:6379,0.0.0.0:6379,但都没有用。他们都告诉我连接错误或连接拒绝。 知道如何从jenkins docker容器中连接到redis吗?
问题内容: 我基于两个不同的图像创建了两个docker容器。一个数据库,另一个用于网络服务器。这两个容器都在我的Mac OS X上运行。 我可以从主机访问数据库容器,也可以从主机访问Web服务器。 但是,如何从Web服务器访问数据库连接? 我启动数据库容器的方式是 我开始了wls容器作为 我可以通过连接到主机上的数据库 我可以以以下方式访问主机上的wls: 问题答案: 最简单的方法是使用–link
我基于两个不同的映像创建了两个docker容器。一个是db,另一个是WebServer。这两个容器都在我的mac OSX上运行。 我可以从主机访问db容器,也可以从主机访问webserver。 我可以访问主机上的wls作为