繁体   English   中英

如何连接到 dockerized Redis 服务器?

[英]How to connect to dockerized Redis Server?

我无法连接(超时)到使用以下命令启动的 dockerized redis 服务器1

docker run -it --rm -p 6379:6379 redis:alpine

我试图用配置启动服务器:

set bind to 0.0.0.0
protected-mode no

但是,我可以使用以下命令使用另一个 docker 容器连接到我的 redis 服务器:

docker run -it --rm redis:alpine redis-cli -h host.docker.internal -p 6379

并且还尝试通过 cli 配置相同的参数

当我尝试连接时连接超时,我尝试了两个内部 ip

172.17.0.x

并使用内部域名:

host.docker.internal

无济于事。 进一步注意,安装时我能够连接到 redis 服务器

brew install redis

在主机上。

我错过了什么,我该如何解决这个问题,以便我可以从容器主机连接到 docker 容器内的 redis-server?


环境详情
OS: MacOS Monterey Version: 12.6 (21G115)

Docker version 20.10.17, build 100c701

1更具体地说,我已经尝试在 mac 终端中使用rdcli -h host.docker.internal ,也在应用程序端使用StackExchange.Redis

更具体地说,我在 mac 终端中尝试了 rdcli -h host.docker.internal

host.docker.internal是一个 DNS 名称,用于从容器内部访问 docker 主机。 在一个容器内使用它来与另一个容器通信是一种不好的做法。 相反,你会创建一个.network,在那个.network 中创建两个容器,然后使用容器名称进行连接。 完成后,端口甚至不需要发布。

从主机上,就是您连接到已发布端口的时间。 由于容器是使用-p 6379:6379部署的,因此您应该能够从主机的主机名或该主机上的本地主机访问该端口:

rdcli -h localhost

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM