アプリケーション スタックを実行するために docker-compose を使用しています。
アプリケーション スタックは次のとおりです。
- モンゴ
- レストサービス(以下、レストサービス)
- UI サービス (以下、ui-service と呼びます)
以下は、私の docker-compose のスニペットです。
services:
mongodb:
image: mongo:3
container_name: mongodb
ports:
- "17027:27017"
rest-service:
build: ./rest-service/
container_name: rest
ports:
- "15000:5000"
command: "/opt/app/conf/config.yml"
links:
- mongodb:mongo
ui-service:
build: ./ui-service/
container_name: ui
ports:
- "18080:8080"
links:
- rest-service:rest
environment:
NODE_ENV: development
ここで直面している問題は、mongo が restService にリンクされているため、rest-service が mongo コンテナー (ポート (docker コンテナーの 27017) を意味します) と通信できることです。しかし、ui-service は rest-service と通信できません (つまり、ポート (docker コンテナーでは 5000)) です。
ホスト ポート (docker コンテナーのポート 5000 でリッスンするポート 15000 を意味します) で ui-service を rest-service と通信させようとすると、機能します。したがって、なぜこれが起こるのか理解できません。
どんな助けでも大歓迎です。