Я использую Docker Windows Container и из Visual Studio могу нажать F5 и запустить простой контроллер «Hello World».Я нажимаю /api/helloworld
, все работает отлично и замечательно - я вижу Hello World.
Теперь, когда я развертываю это в экземпляре контейнера Azure, все выглядит так, как будто оно развернуто нормально.Но когда я нажимаю на тот же URL-адрес /api/helloworld
, он выдает мне сообщение 404.
Нужно ли мне предоставлять какие-либо разрешения на чтение для анонимных веб-пользователей?
azure-pipelines.yml
# ASP.NET
# Build and test ASP.NET projects.
# Add steps that publish symbols, save build artifacts, deploy, and more:
# https://docs.microsoft.com/azure/devops/pipelines/apps/aspnet/build-aspnet-4
trigger:
- master
pool:
vmImage: 'win1803'
variables:
solution: '**/*.sln'
buildPlatform: 'Any CPU'
buildConfiguration: 'Release'
steps:
- task: NuGetToolInstaller@0
- task: NuGetCommand@2
inputs:
restoreSolution: '$(solution)'
- task: VSBuild@1
inputs:
solution: '$(solution)'
msbuildArgs: '/p:DeployOnBuild=true /p:WebPublishMethod=Package /p:PackageAsSingleFile=true /p:SkipInvalidConfigurations=true /p:PackageLocation="$(build.artifactStagingDirectory)"'
platform: '$(buildPlatform)'
configuration: '$(buildConfiguration)'
docker-compose.yml
version: '3.4'
services:
dockermicroservice:
image: ${DOCKER_REGISTRY-}dockermicroservice
build:
context: .\DockerMicroservice
dockerfile: Dockerfile
Dockerfile
FROM microsoft/aspnet:4.7.2-windowsservercore-1803
ARG source
WORKDIR /inetpub/wwwroot
COPY ${source:-obj/Docker/publish} .
HelloWorldController.cs
using System.Web.Http;
namespace DockerMicroservice.Controllers
{
public class HelloWorldController : ApiController
{
[HttpGet]
public IHttpActionResult Get()
{
return Ok("Hello World");
}
}
}
Запуск экземпляра из реестра контейнеров
