你好,我正在尝试向 Redis
docker 容器发出命令。
容器已启动并正在运行。我使用了以下命令:
docker run -d -p 8300:85 -t redis
然而,当我尝试从我的终端使用时:
redis-cli -p 8300
没有任何反应。
它只是看起来在等待什么。
我如何与我的 redis 容器通信;我做错了什么?
P.S 在我将 redis 端口设置为默认 6379
后,我在使用 docker run
时得到一个 id 作为响应,但它仍然停止就在那里(第一张图片):
从另一个终端(第二张图片)您可以看到,当第一个终端被阻止时,实例已创建但未启动。
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/