このようにポートをバインドする場合'9002:6379' localhost:9002からのトラフィックを転送するようにDockerに指示しています -> redis:6379 。これがホストマシンから機能する理由です:
redis-cli -h localhost -p 9002 -n 0
ただし、コンテナが相互に通信する場合、デフォルトではすべて同じネットワークに接続されます(Dockerブリッジまたは docker0 )。デフォルトでは、コンテナは互いに自由に通信できます。 このネットワークでは、ポートを開く必要はありません。このネットワーク内で、redis コンテナは通常のポート(6379)でトラフィックをリッスンしています )、ホストはまったく関与していません。これが、コンテナ間の通信が6379で機能する理由です。 。