docker - 在 Redis 容器上使用 Redis-CLI

标签 docker redis redis-cli

你好,我正在尝试向 Redis docker 容器发出命令。 容器已启动并正在运行。我使用了以下命令: docker run -d -p 8300:85 -t redis

enter image description here

然而,当我尝试从我的终端使用时: redis-cli -p 8300 没有任何反应。
它只是看起来在等待什么。

enter image description here

我如何与我的 redis 容器通信;我做错了什么?

P.S 在我将 redis 端口设置为默认 6379 后,我在使用 docker run 时得到一个 id 作为响应,但它仍然停止就在那里(第一张图片):

enter image description here

从另一个终端(第二张图片)您可以看到,当第一个终端被阻止时,实例已创建但未启动。

P.S 2 在等待大约 10 分钟后,我终于在运行 redis 容器时收到错误消息:

$ docker run -d -p 8300:6379 -t redis
244d898dcfb0cd1da4828ee99a16bdd12f62499f99e8dc3ee17af9bacefe5b41
C:\Program Files\Docker\Docker\Resources\bin\docker.exe: Error response from daemon: failed to create endpoint upbeat_blackwell on network nat: HNS failed with error : You were not connected because a duplicate name exists on the network. If joining a domain, go to System in Control Panel to change the computer name and try again. If joining a workgroup, choose another workgroup name.

最佳答案

看起来您使用 docker 发布了错误的端口。查看您的第一个屏幕截图,您可以看到端口 6379(默认 redis)未发布到您的主机,但端口 85 发布在端口 8300 上。

将您的运行命令更改为 docker run -d -p 8300:6379 -t redis 看看是否有帮助。

作为替代方案,您可以从正在运行的容器 docker exec -it a425 redis-cli 执行 redis-cli(a425 是第一个屏幕截图中的容器 ID)。在这种情况下,您不需要在主机上安装任何东西。

关于docker - 在 Redis 容器上使用 Redis-CLI,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/52419657/

相关文章:

redis - 在redis中使用bitcount命令

REDIS:cluster_enabled中的数字是什么意思? 0 为真还是 1 为真?

memory - 获取内存中的redis key-value大小

node.js - 在 Docker 上构建 Node js 应用程序

docker - Kubernetes 和 Gitlab : How to store password for private registry?

c# - Redis 使用 ServiceStack.Redis 通过外键检索

redis - 为什么加载 redis 备份时 LASTSAVE 的值会发生变化?

ubuntu - 在 16.04 LTS 上安装 Docker

docker - Azure DevOps Maven Docker 构建 - 找不到目标文件夹

redis - 从 Redis 中获取命中和未命中的键空间