Экземпляр контейнера Docker Windows Azure дает 404 не найден - PullRequest
0 голосов
/ 04 января 2019

Я использую 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");
        }
    }
}

Запуск экземпляра из реестра контейнеров

Run instance from container registry

1 Ответ

0 голосов
/ 04 февраля 2019

Решил мою проблему.

Мне не удалось сделать публикацию перед построением моего изображения.

  • Щелкните правой кнопкой мыши проект> Публикация
  • Выберите папку для цели публикации
  • , введите obj \ docker \ publish (или как там написано в шаге COPY в Dockerfile)
...