我使用的是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.
要解决此问题,请将“vm.overcommit_memory = 1”添加到/etc/sysctl.conf,然后重新启动或运行命令“sysctl vm.overcommit_memory = 1”以使其生效 . [39] 01 Mar 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) .
谢谢
1 回答
Redis正在侦听内部docker网络上的端口,要从本地计算机访问它,您需要使用-p 6379:6379将容器端口映射到本地端口 . 这样,如果您有多个redis容器,则可以将它们分别映射到计算机上的不同端口 .