azure - Azure Windows Docker 容器实例给出 404 Not Found
问题描述
我正在使用 Docker Windows Container 和 Visual Studio,我可以按 F5 并运行一个简单的“Hello World”控制器。我打了/api/helloworld
,一切正常,花花公子 - 我看到了 Hello World。
现在,当我在 Azure 容器实例上部署它时,一切看起来都很好。但是当我点击相同的网址/api/helloworld
时,它会给我一条 404 消息。
我是否需要为匿名 Web 用户授予任何读取权限?
天蓝色管道.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)'
码头工人-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");
}
}
}
从容器注册表运行实例
解决方案
解决了我的问题。
在构建图像之前,我错过了发布。
- 右键单击项目 >发布
- 选择发布目标的文件夹
- 输入obj\docker\publish(或在 Dockerfile 中的 COPY 步骤中显示的任何内容)
推荐阅读
- python - 如何在python中应用具有固定x截距的线性回归?
- maven - Maven 依赖项已导入,但我仍然收到“未解决的引用”错误 - Intellij
- reactjs - 样式化组件仅将样式应用于嵌套选择器
- ios - 自 iOS 13 起,MKPolyline 替换导致 MKTileOverlay 在地图上闪烁
- java - Spring 无法反序列化请求参数日期“Thu Dec 26 20:53:18 GMT+01:00 2019”
- multipartform-data - npm nock:模拟发布多部分形式的上传文件
- node.js - 'npm start' 与 create-react-app 未在 macOS 上启动服务器
- sql - 在选择子句的另一个案例中使用案例列
- python - 给定两个函数,找到一个阈值,使得一个总是大于另一个
- java - 如何在 Apache Poi(Excel 文件)中设置自动换行