Warning: file_get_contents(/data/phpspider/zhask/data//catemap/1/list/4.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
C# 无法连接到docker compose中主机名为6379的redis实例_C#_Redis_Docker Compose_<img Src="//i.stack.imgur.com/WM7S8.png" Height="16" Width="18" Alt="" Class="sponsor Tag Img">servicestack_Connection String - Fatal编程技术网 servicestack,connection-string,C#,Redis,Docker Compose,servicestack,Connection String" /> servicestack,connection-string,C#,Redis,Docker Compose,servicestack,Connection String" />

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

C# 无法连接到docker compose中主机名为6379的redis实例,c#,redis,docker-compose,servicestack,connection-string,C#,Redis,Docker Compose,servicestack,Connection String,我正在使用docker compose启动一个dotnet核心应用程序和redis。Redis主机名设置为docker网络中使用的容器名称。服务堆栈中的redis连接管理器是使用连接字符串设置的。但是,它似乎总是默认返回到localhost:6379 这已经在两周前起作用了,与docker-compose.yaml相同,与redis客户端管理器的代码相同 Docker版本18.09.1,内部版本4c52b90- docker compose版本1.23.2,内部版本1110ad01 根据serv

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

这已经在两周前起作用了,与docker-compose.yaml相同,与redis客户端管理器的代码相同

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

根据servicestack.redis手册,我尝试了各种连接字符串选项

代码:


知道为什么会这样吗?

dev redis的IP地址是多少?i、 e.
Dns.GetHostAddresses(“dev redis”)[0]IP地址在docker-compose.yaml(10.5.0.4)中定义,我也曾在RedisClientManager中尝试将其作为主机(池和基本)。没有成功。只是想知道为什么要使用默认主机(localhsot:6379)?它应该只使用指定的地址,错误消息是这样的,所以我会通过查看完整的异常堆栈跟踪来询问在哪里以及实际发生了什么。如果它不能通过IP连接,那么看起来你有一个网络错误,因为它不能通过TCP连接到你的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