Docker端口映射:三方握手,尽pipe没有任何听力
我正在启动一个端口映射的Docker容器:
docker run -d -p 1234:1234 busybox sleep 10000
预期的行为是“连接被拒绝”,即SYN, RST+ACK
。 我看到的是“由外部主机closures的连接”,即SYN, SYN+ACK, ACK, FIN+ACK, FIN+ACK
。
我使用这样的telnet: telnet localhost 1234
和tcpdump是这样的: sudo tcpdump -i lo -w xxx.pcap -v -n tcp port 1234
为什么Docker的行为如此?
正如Oliver Charlesworth所评论的,我所经历的行为是由Docker的用户级代理引起的。 用户级代理可以在/etc/default/docker
--userland-proxy=false
使用--userland-proxy=false
来禁用。