当您像这样绑定端口时,您将
'9002:6379'告诉Docker从
localhost:9002->
转发流量
redis:6379。这就是为什么它可以在您的主机上工作的原因:
redis-cli -h localhost -p 9002 -n 0
但是,当容器相互通信时,默认情况下它们都连接到同一网络(Docker网桥 或
docker0)。默认情况下,容器可以在此网络上相互 自由
通信,而无需打开任何端口。在此网络中,您的
redis容器正在侦听其常规端口(
6379)上的流量,根本不涉及主机。这就是您的容器之间进行容器通信的原因
6379。



