Wenn Sie Ports wie diesen binden '9002:6379'
Sie weisen Docker an, Datenverkehr von localhost:9002
weiterzuleiten -> redis:6379
. Deshalb funktioniert das von Ihrem Host-Rechner aus:
redis-cli -h localhost -p 9002 -n 0
Wenn Container jedoch miteinander kommunizieren, sind sie alle standardmäßig mit demselben Netzwerk verbunden (die Docker-Bridge oder docker0
). Standardmäßig können Container frei miteinander kommunizieren in diesem Netzwerk, ohne dass Ports geöffnet werden müssen. Innerhalb dieses Netzwerks wird Ihr redis
Container wartet auf Datenverkehr auf seinem üblichen Port (6379
), Host ist überhaupt nicht beteiligt. Deshalb funktioniert Ihre Container-zu-Container-Kommunikation auf 6379
.