当前位置: 首页 > 知识库问答 >
问题:

无法连接到127.0.0.1:6379的Redis:docker中的连接被拒绝

夏昌胤
2023-03-14

我正在使用一个服务器:最新映像。我使用了“泊坞窗运行 -it --name=”redis2“ redis:1 bash” 命令并进入了容器。我看到默认情况下,redis 正在侦听端口:6379。

Running in stand alone mode

Port: 6379

PID: 39

http://redis.io

[39] 01 Mar 09:03:45.669 # Server started, Redis version 2.8.4 [39] 01 Mar 09:03:45.669 # WARNING overcommit_memory is set to 0! Background save may fail under low memory condition. 

要解决此问题,请将“vm.overcommit_memory = 1”添加到 /etc/sysctl.conf 中,然后重新启动或运行命令 “sysctl vm.overcommit_memory=1” 以使此操作生效。[39] 3月1日 09:03:45.669 * 服务器现在已准备好接受端口 6379 上的连接

然后进一步没有回应。我尝试了“重新调整”。没有回应。然后我点击“ctrl c”并键入“重新调整 - 气候平”并得到以下响应:

Could not connect to Redis at 127.0.0.1:6379: Connection refused

我试图通过执行以下命令将端口更改为6001:

html" target="_blank">redis-server --port 6003

我看到了以下回应:

Running in stand alone mode

Port: 6003

PID: 47

我再次尝试了“重新调整”,它给我带来了同样的错误:

Could not connect to Redis at 127.0.0.1:6379: Connection refused

我该如何解决这个问题?我还更新了/etc/redis/redis.conf位置的端口(新端口6003)。

非常感谢。

共有3个答案

宗晟
2023-03-14

嗯,这已经有一段时间了,但对于其他人来说,也面临着同样的问题;当您将“sh”命令放在“docker run”中时,它将替换启动Redis服务器的默认命令。因此,您可以在一个单独的终端(如“docker run redis”)中启动容器,然后在另一个终端中运行“docker exec-it#container_id sh”,这是在主进程中启动容器的一种更常见的方法,然后将一个正在运行的shell附加到它,或者按照Chris的建议将容器端口映射到您的本地端口。

於宾白
2023-03-14

如果您遇到此错误:

无法连接到 127.0.0.1:6379 的 Redis:连接被拒绝

您可能需要对redis服务器进行守护,以便docker可以连接到它:

/usr/local/bin/redis-server--daemonize yes

然后尝试再次运行< code>redis-cli ping。

百里飞捷
2023-03-14

Redis正在侦听内部docker网络上的该端口,要从本地计算机访问该端口,您需要使用-p 6379:6379将容器端口映射到本地端口。这样,如果您有多个Redis容器,则可以将它们分别映射到计算机上的不同端口。

 类似资料: