我是docker和redis的新手,我使用以下命令在docker上运行redis 3.0:
docker run --name redisDev -d redis
它似乎启动与端口6379连接正常:
docker ps
CONTAINER ID IMAGE COMMAND CREATED STATUS PORTS NAMES
b95c9402dd42 redis:3 "/entrypoint.sh redi 47 minutes ago Up 47 minutes 6379/tcp redisDev
Run Code Online (Sandbox Code Playgroud)
我正在尝试连接以下代码:
var sb = new StringBuilder();
var tw = new StringWriter(sb);
ConnectionMultiplexer redis;
try
{
redis = ConnectionMultiplexer.Connect("vb-haproxy01.verify.local", tw);
}
catch (Exception ex)
{
//Console.WriteLine(ex.Message);
tw.Flush();
Console.WriteLine(sb.ToString());
return;
}
Run Code Online (Sandbox Code Playgroud)
我收到以下错误:
vb-haproxy01.verify.local:6379
1 unique nodes specified
Requesting tie-break from vb-haproxy01.verify.local:6379 > __Booksleeve_TieBreak
...
Allowing endpoints 00:00:05 to respond...
vb-haproxy01.verify.local:6379 faulted: SocketFailure on PING
vb-haproxy01.verify.local:6379 failed to nominate (Faulted)
> UnableToResolvePhysicalConnection on GET
No masters detected
vb-haproxy01.verify.local:6379: Standalone v2.0.0, master; keep-alive: 00:01:00;
int: Connecting; sub: Disconnected; not in use: DidNotRespond
vb-haproxy01.verify.local:6379: int ops=0, qu=0, qs=0, qc=1, wr=0, sync=1, socks
=2; sub ops=0, qu=0, qs=0, qc=0, wr=0, socks=2
Circular op-count snapshot; int: 0 (0.00 ops/s; spans 10s); sub: 0 (0.00 ops/s;
spans 10s)
Sync timeouts: 0; fire and forget: 0; last heartbeat: -1s ago
resetting failing connections to retry...
retrying; attempts left: 2...
1 unique nodes specified
Run Code Online (Sandbox Code Playgroud)
Linux防火墙设置:
sudo iptables -L
Chain INPUT (policy ACCEPT)
target prot opt source destination
ACCEPT tcp -- anywhere anywhere tcp dpt:6379
Chain FORWARD (policy ACCEPT)
target prot opt source destination
ACCEPT all -- anywhere anywhere ctstate RELATED,ESTABLISHED
ACCEPT all -- anywhere anywhere
ACCEPT all -- anywhere anywhere
Chain OUTPUT (policy ACCEPT)
target prot opt source destination
Run Code Online (Sandbox Code Playgroud)
我错过了什么?
问题是主机上的端口6379没有将端口6379转发到docker.以下命令的"-p 6379:6379"修复了该问题:
docker run -d --name redisDev -p 6379:6379 redis
Run Code Online (Sandbox Code Playgroud)
| 归档时间: |
|
| 查看次数: |
1200 次 |
| 最近记录: |