Py学习  »  Redis

无法连接到docker compose中主机名为6379的redis实例

MarcoB • 4 年前 • 686 次点击  

我正在启动一个dotnet核心应用程序和redis使用docker compose。Redis hostname设置为docker网络中使用的容器名。服务堆栈中的redis连接管理器是使用连接字符串设置的。但是,它似乎总是默认返回到本地主机:6379

两周前,同样的docker-compose.yaml,同样的redis客户端管理器代码。

Docker版本18.09.1,内部版本4c52b90- docker compose版本1.23.2,内部版本1110ad01

我已经按照servicestack.redis手册尝试了各种连接字符串选项。

代码:

container.Register<IRedisClientsManager>(c => new BasicRedisClientManager(Environment.GetEnvironmentVariable("CACHE_CONNECTION_STRING")));
                container.Register<ICacheClient>(c => c.Resolve<IRedisClientsManager>().GetCacheClient());

Console.WriteLine($"Cache details: Cache={Environment.GetEnvironmentVariable("CACHE")}, CONNECTION_STRING={Environment.GetEnvironmentVariable("CACHE_CONNECTION_STRING")}");

日志:

Connection string used:
dev-backend        | Cache details: Cache=Redis, CONNECTION_STRING=dev-redis:6379

Error:
dev-backend        | fail: ServiceStack.Redis.RedisNativeClient[0]
dev-backend        |       Could not connect to redis Instance at localhost:6379

知道为什么会这样吗?

Python社区是高质量的Python/Django开发社区
本文地址:http://www.python88.com/topic/50801
 
686 次点击