Когда вы создаете веб-приложение, вам нужно выбрать Docker Image, затем Docker Compose, затем реестр, где хранятся ваши изображения. Затем вам необходимо предоставить файл YAML, в котором вы определите образы контейнеров, а также имена и порты сети. Вот пример:
version: '3.4'
services:
webapiconverter:
image: myacr.azurecr.io/converter
ports:
- '80'
restart: always
webapiinventory:
image: myacr.azurecr.io/inventory
ports:
- '80'
restart: always
apigateway:
image: myacr.azurecr.io/apigateway
ports:
- '80:80'
restart: always
Обратите внимание, что веб-приложение может предоставлять только порты 80 и 8080, поэтому, если у вас есть несколько API в нескольких контейнерах, вашей точкой входа, вероятно, будет шлюз API, такой как Ocelot. Вам нужно будет определить маршруты в файле JSON. Вот пример:
{
"ReRoutes": [
{
"DownstreamPathTemplate": "/api/f_to_c?f={degrees}",
"DownstreamScheme": "http",
"DownstreamHostAndPorts": [
{
"Host": "converter",
"Port": 80
}
],
"UpstreamPathTemplate": "/api/converter/{degrees}"
},
{
"DownstreamPathTemplate": "/api/inventory/{sku}",
"DownstreamScheme": "http",
"DownstreamHostAndPorts": [
{
"Host": "webapi",
"Port": 80
}
],
"UpstreamPathTemplate": "/api/inventory/{sku}"
}
],
"GlobalConfiguration": {
"BaseUrl": "https://backend.azurewebsites.net"
}
}
Вот ссылка: https://docs.microsoft.com/en-us/dotnet/standard/microservices-architecture/multi-container-microservice-net-applications/implement-api-gateways-with-ocelot