繁体   English   中英

Docker 容器无法连接到 Redis

[英]Docker container can't connect to Redis

I have a Docker container running a C application using hiredis, which should write data to a Redis server exposed at the default address and port running locally on the same Linux device at 127.0.0.1:6379 .

Redis 服务器在不同的 Docker 容器中运行。 我启动这个容器运行,暴露端口 6379 如下: sudo docker run --name redis_container -d -p 6379:6379 40c68ed3a4d2

redsi-cli可以毫无问题地通过 127.0.0.1:6379 连接到此。

但是,无论我尝试什么,应该写入 Redis 的容器总是从 C 代码中收到 Redis 连接被拒绝错误。 这是我最后一次尝试运行容器: sudo docker run --expose=6379 -i 7340dfee8ea5

我到底在这里想念什么? 谢谢

C客户端在容器内运行,这意味着127.0.0.1指向容器本身,而不是您的主机。 您应该将 redis 客户端配置为redis_container:6379 ,因为这是您在 docker 运行 redis 容器时使用的名称。 更多关于这里

此外,两个容器需要在同一个 docker 网络中。 使用以下命令创建一个简单的网络

docker network create my-net

并将--network my-net添加到 docker 运行命令(redis 客户端和 redis 服务器)

您可以在此处阅读有关 docker 网络的更多信息

暂无
暂无

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

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