【发布时间】:2019-08-05 21:20:17
【问题描述】:
不确定是连接字符串的问题还是我的 docker 映像的问题。运行docker container ls我明白了
57cb0c982c76 redis "docker-entrypoint.s…" 0.0.0.0:32773->6379/tcp
端口似乎映射到外部。我试着跑了
docker run -d -P redis:alpine
使用这个和其他不同的参数变体,并使用 StackExchange.Redis C# 驱动程序,它会超时。连接字符串如下所示:
localhost:6379,ssl=True,abortConnect=False
(无密码)。我做错了什么?
更新
尝试使用docker run -d -p 6379:6379/tcp redis(也是redis:alpine)。仍然无法连接。 docker inspect 显示 HostConfig:
"PortBindings": {
"6379/tcp": [
{
"HostIp": "",
"HostPort": "6379"
}
]
}
【问题讨论】:
-
我认为连接字符串需要使用容器的 IP 地址而不是 localhost(运行
docker inspect <containerId>以获取该 IP 地址) -
@egnomerator 在IP地址无用的各种情况下;我认为在 MacOS 主机上,即使从同一主机也无法访问。您永远不会直接需要它,我不鼓励查找它。
标签: c# .net docker redis .net-core