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