docker - 无法连接到位于 127.0.0.1 的 Redis :6379: Connection refused in docker

标签 docker redis

我正在使用 redis-server:latest 图像。我使用了“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)。

谢谢

最佳答案

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

关于docker - 无法连接到位于 127.0.0.1 的 Redis :6379: Connection refused in docker,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/42529393/

相关文章:

docker - 有关Cloudant本地Docker中的Compactor的内部错误

docker - 在rbenv环境中为gem-mecab制作docker镜像时出错

node.js - Docker 中的 Chrome headless 未知错误

caching - 从 Twitter Streaming API 和 RESTful API 获取的数据是否需要缓存?

python - 使用 Flask 获取 int 列表并将这些值作为端点返回

docker - 如何在 dockerfile 中回答安装问题?

node.js - Dockerfile 中的 Nodejs 端口更改

redis - Redis 中等效的复合主键

redis - 为什么一个键在Redis中的编码是 "int",而在lua脚本中它的类型是 "string"?

yii - 如何使用 crediscache 获取所有的 redis 键