更新:作成ファイルバージョン3.5以降:
私は同様の問題に遭遇し、私のdocker-compose.ymlプロジェクトの1つに小さな変更を加えることで解決しました。
たとえば、2つのAPI scoringとがありnerます。Scoringapiはner、入力リクエストを処理するために、apiにリクエストを送信する必要があります。そのためには、両方が同じネットワークを共有すると仮定します。
注:すべてのコンテナーには独自のネットワークがあり、Docker内でアプリを実行するときに自動的に作成されます。たとえば、ner apiネットワークはのように作成されner_default、スコアリングapiネットワークはという名前になりscoring defaultます。このソリューションはバージョン「3」で機能します。
上記のシナリオのように、私のスコアリングAPIはner apiと通信したいので、次の行を追加します。つまり、ner apiのコンテナーを作成すると、自動的にscoring_defaultネットワークに追加されます。
networks:
  default:
      external:
        name: scoring_default
ner / docker-compose.yml
version: '3'
services:
  ner:
    build: .
    ...
networks:
  default:
      external:
        name: scoring_default
scoring / docker-compose.yml
version: '3'
services:
  api:
    build: .
    ...
上記のコンテナがscoring_default、次のコマンドを使用して呼び出された同じネットワークの一部であることがわかります   。
  docker inspect scoring_default
{
    "Name": "scoring_default",
        ....
    "Containers": {
    "14a6...28bf": {
        "Name": "ner_api",
        "EndpointID": "83b7...d6291",
        "MacAddress": "0....",
        "IPv4Address": "0.0....",
        "IPv6Address": ""
    },
    "7b32...90d1": {
        "Name": "scoring_api",
        "EndpointID": "311...280d",
        "MacAddress": "0.....3",
        "IPv4Address": "1...0",
        "IPv6Address": ""
    },
    ...
}