【问题标题】:Azure Windows Docker Container Instance Gives 404 Not FoundAzure Windows Docker 容器实例给出 404 Not Found
【发布时间】:2019-01-04 05:40:57
【问题描述】:

我正在使用 Docker Windows Container 和 Visual Studio,我可以按 F5 并运行一个简单的“Hello World”控制器。我点击了/api/helloworld,一切正常,花花公子 - 我看到了 Hello World。

现在,当我在 Azure 容器实例上部署它时,一切看起来都很好。但是当我点击相同的网址/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");
        }
    }
}

从容器注册表运行实例

【问题讨论】:

  • 您可以查看 ACI 日志。而且我没有看到您在 Dockerfile 中公开端口。也许是问题所在。
  • 有什么更新吗?上述建议有帮助吗?
  • 我添加了端口,但这并没有解决问题。不知道如何设置日志,以便我可以看到它在哪里下降。

标签: azure docker containers


【解决方案1】:

解决了我的问题。

我在构建图像之前错过了发布。

  • 右键单击项目> 发布
  • 为发布目标选择文件夹
  • 输入 obj\docker\publish(或在 Dockerfile 中的 COPY 步骤中输入的任何内容)

【讨论】:

  • 通过文件夹发布后,是否还可以通过visual studio再次发布到容器注册表?
猜你喜欢
  • 1970-01-01
  • 1970-01-01
  • 2021-12-18
  • 2013-03-10
  • 2012-12-22
  • 1970-01-01
  • 1970-01-01
  • 2013-11-11
  • 2018-01-04
相关资源
最近更新 更多