![](/img/trans.png)
[英]Error: Redis connection to 127.0.0.1:6379 failed - connect ECONNREFUSED 127.0.0.1:6379
[英]Could not connect to Redis at 127.0.0.1:6379: Connection refused in docker
我正在使用 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 容器,您可以将它们分别映射到您机器上的不同端口。
好吧,已经有一段时间了,但对于其他任何人都面临同样的问题; 当您将“sh”命令放入“docker run”时,它会替换启动 Redis 服务器的默认命令。 因此,您可以在单独的终端(如“docker run redis”)中启动容器,并在另一个终端中运行“docker exec -it #container_id sh”,这是在主进程中启动容器然后附加的更常见的方法一个正在运行的 shell,或者按照 Chris 的建议将容器端口映射到您的本地端口。
如果您收到此错误:
Could not connect to Redis at 127.0.0.1:6379: Connection refused
您可能需要守护 redis-server,以便 docker 可以连接到它:
/usr/local/bin/redis-server --daemonize yes
然后再次尝试运行redis-cli ping
。
好的,我今晚遇到了同样的问题。
我使用的是从我docker-compose.yml
创建的 Redis 容器:
redis:
container_name: 'myproject-redis'
image: redis:latest
ports:
- "127.0.0.1:${HOST_MACHINE_REDIS_PORT}:6379"
我的解决方案是使用容器“ID”-> 此处为 'redis' 而不是使用正常的连接 IP 127.0.0.1
。
为什么 ? 我假设我的 Docker 正在创建一个直接连接到创建的容器的桥(就像 MySQL ie 通常的情况)。
对于未来的观众:
运行sudo docker container ls
以获取所有正在运行的 docker 容器
sudo docker exec -it <redis_container_name> redis-cli -h <ec2_ip_address> -p 6379:6379 FLUSHALL
希望这对您有所帮助。
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.