Redis在WSL2 Podman中连接被拒绝。

3

我在Windows 10上的WSL2中运行Ubuntu 20.04。

我安装了podman。

>podman -v
 podman version 3.

我尝试使用以下命令启动一个容器:

podman run --name some-redis -d -p 6379:6379 redis

容器正在启动。日志中没有错误。
如果我尝试
redis-cli 

在Ubuntu上它能够工作。

但在dos/powershell上却不能工作。

rdcli -h localhost
localhost:6379> (error) Redis connection to localhost:6379 failed - connect ECONNREFUSED 127.0.0.1:6379

而且它不能与我的SpringBoot应用程序一起使用。

我还使用了一个端口映射为9000:9000的portainer容器,我可以从ubuntu、dos和powershell访问它。

那么redis有什么问题呢?是来自redis还是wsl2/podman?

我该怎么办?

附注:在具有Docker桌面版的同一台机器上相同的容器正常工作。


只是猜测。也许与这个问题有关:https://github.com/containers/podman/issues/12701#issuecomment-1000999833 - Erik Sjölund
也许……但我发现不使用rootless是可以工作的。但只有第一次(在创建时)。重新启动并启动容器后,它就不再起作用了。唯一的解决方案:删除容器并重新创建它。仍然不知道为什么? - tweetysat
1个回答

4
你可能遇到了WSL2问题:https://github.com/microsoft/WSL/issues/4851 解决方案:
1. 选项1:从Windows端使用[::1]:6379而不是localhost:6379 2. 选项2:在使用podman run时,使用-p 127.0.0.1:6379:6379而不是-p 6379:6379

谢谢大家,你们的回答救了我的命,哈哈 - Natta Wang

网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接