我正在使用Docker Windows Container,并且可以从Visual Studio中运行F5,并可以运行一个简单的“ Hello World”控制器。我按/api/helloworld
,一切正常,花哨的-我看到Hello World。
现在,当我在Azure容器实例上部署此组件时,一切看起来都很好。但是,当我点击相同的网址/api/helloworld
时,它会显示404消息。
我需要授予匿名Web用户任何读取权限吗?
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");
}
}
}
从容器注册表运行实例
答案 0 :(得分:0)
解决了我的问题。
在建立图片之前,我错过了发布工作。