0

docker ネットワークと、コンテナー設定を含む 2 つの異なる docker-compose ファイルを使用して、ある docker コンテナーから別の docker コンテナーに要求を行うにはどうすればよいですか?

このコンソール アプリケーションを使用して呼び出す必要がある単純な Web API があります。Web API は、次の docker compose ファイルを使用してホストされます。

version: '3.5'

services:
  webapi_test:
    image: ${DOCKER_REGISTRY-}webapi_test
    build:
      context: .
      dockerfile: webapi_test/Dockerfile    
    links:
      - mongo
    networks:
      - sample_network
  mongo:
    image: mongo:latest
    container_name: "mongodb"
    ports:
      - "27017:27017"
    command: mongod --smallfiles --logpath=/dev/null # --quiet
    networks:
      - sample_network

networks:
  sample_network:
    name: sample_network

Web API は、次の単純なコンソール アプリケーションを使用して呼び出す必要があります。

class Program
{
    static void Main(string[] args)
    {
        var url = "https://webapi_test:44334/api/Role";
        var client = new HttpClient();
        var result = client.GetStringAsync(url).Result;

        Console.WriteLine($"Result: {result}");
    }
}

コンソール アプリケーションの Docker 構成:

version: '3.5'

services:
  networksample:
    image: ${DOCKER_REGISTRY-}networksample
    build:
      context: .
      dockerfile: NetworkSample/Dockerfile
    networks:
      - sample_network

networks:
  simplic_network:
    name: sample_network

私の知る限り、通信はローカル docker ネットワークで行う必要があります。しかし、コンソール アプリケーションで常に次のエラー メッセージが表示されます: SocketException: Resource temporarily unavailableThe web api is available from outside: https://localhost:44334/api/Role...

編集docker ホストが 1 つだけあります。

4

2 に答える 2