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 unavailable
The web api is available from outside: https://localhost:44334/api/Role
...
編集docker ホストが 1 つだけあります。