3

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

在此处输入图像描述

但是,当我尝试从终端使用时: redis-cli -p 8300没有任何反应。
它只是看起来它在等待什么。 我如何与我的 redis 容器通信;我究竟做错了什么?

在此处输入图像描述

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

在此处输入图像描述

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

PS 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.
4

1 回答 1

6

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

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

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

于 2018-09-20T07:31:51.070 回答