Контейнерное приложение VS 2019 для ошибок Kubernetes, полученных при развертывании с Azure DevOps Pipeline - PullRequest
0 голосов
/ 09 января 2020

Я создал приложение-контейнер для Kubernetes в Visual Studio следующим образом:

enter image description here

Docker Файл выглядит следующим образом:

enter image description here

Результат успешного запуска в Powershell:

enter image description here

Я пытался использовать конвейер template - Развертывание в Azure Kubernetes Service:

enter image description here

Я использовал YAML "как есть":

enter image description here

Когда я сохраняю и запускаю, я получаю следующее:

enter image description here

[ошибка] КОПИЯ не удалась: stat /var/lib/docker/tmp/docker-builder947419078/KubeApp/KubeApp.csproj: нет такого файла или каталога

[ошибка] Процесс '/ usr / bin / docker' завершился неудачно с код выхода 1

Пожалуйста, сообщите

1 Ответ

0 голосов
/ 09 января 2020

[ошибка] СБОЙ КОПИРОВАНИЯ: stat /var/lib/docker/tmp/docker-builder947419078/KubeApp/KubeApp.csproj: нет такого файла или каталога

Причина Эта ошибка на самом деле происходит из-за различных механизмов выполнения между pipe и local при запуске dockerfile.

Для pipeline, по умолчанию выполняется docker в каталоге, где находится докер-файл, который находится на уровне проекта 1013 *, но VS/local запускает его на уровне Repos / Solution .

Итак, чтобы Решить эту проблему можно, воспользовавшись приведенным ниже методом

Измените определение COPY следующим образом:

    COPY ["KubeApp.csproj", "KubeApp/"]

Этот метод может позволить вам преуспеть до COPY, но не удалось с Program does not contain a static 'Main' method .

В это время:

  • Один из способов - изменить COPY . . (L10) на COPY . KubeApp/. Это добавит папку к каталогу dest .
  • Или вы можете изменить порядок COPY (L10) и WORKDIR (L11) без изменения COPY . ..

См. Мой предыдущий ответ , что другие решили ту же проблему, применив мое предложение.

...