在127.0.0.1:6379无法连接到Redis:连接在Docker中被拒绝

我正在使用redis-server:最新映像。 我用“docker run -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. 

要解决这个问题,请在/etc/sysctl.conf中添加'vm.overcommit_memory = 1',然后重新启动或运行'sysctl vm.overcommit_memory = 1'命令使其生效。 [39] 01三月09:03:45.669 *服务器现在已准备好接受端口6379上的连接

然后进一步没有回应。 我尝试了“redis-cli ping”。 没有回应。 然后我点击“ctrl + c”键入“redis-cli ping”,得到如下响应:

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

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

 redis-server --port 6003 

我看到以下回应:

 Running in stand alone mode Port: 6003 PID: 47 

我再次尝试“redis-cli ping”,它给我带来了同样的错误:

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

我该如何解决? 另外我已经在“/etc/redis/redis.conf”位置更新了端口(新端口6003)。

谢谢

Redis正在监听内部dockernetworking上的端口,要从本地机器访问它,需要使用-p 6379:6379将容器端口映射到本地端口。 这样,如果你有多个redis容器,你可以把它们映射到你机器上的不同端口。