Функции Azure в помещении - ответ от демона об ошибке: невозможно убить контейнер

Я работаю с Функциями Azure в помещении V2 (среда выполнения).

Пытаюсь протестировать простую функцию, которая выполняется каждую минуту и ​​записывается в журналы.

Однако функция не выполняется, и я получаю эту ошибку.

Он работает на виртуальной машине с Windows server 2016. (что, как я думаю, может быть причиной этой проблемы).

Я новичок в Docker и Hyper-V, буду благодарен за любую помощь.

Есть ли какие-то команды, которые я могу выполнить, чтобы поспорить, хорошо ли работают Hyper V и Docker?

Заранее спасибо.

Это журнал, который я получаю.

14.03.2018 17:42:44 Добро пожаловать, теперь вы подключены к сервису потоковой передачи журналов. 14.03.2018 17:41:48 [myteslaVM] Приложение-функция MyContainerFuncApp запускается ... 14 марта / 2018 17:41:49 [myteslaVM] Получение образа контейнера azfuncrun / azure-functions-runtime: preview2-latest-nanoserver3 / 14/2018 17:41:50 PM [myteslaVM] preview2-latest-nanoserver: Получение из azfuncrun / azure-functions-runtime3 / 14/2018 17:41:50 PM [myteslaVM] Дайджест: sha256: dfdb47a7638d0cdd1a42c603e3e59311ee0d229222f88329a7c561fc3d8b2ff33 / 14/2018 17:41:50M- состояние azureV для функций изображения: mytesla - обновлено до состояния: mytesla время выполнения: preview2-latest-nanoserver

14.03.2018 17:41:50 [myteslaVM] Образ контейнера azfuncrun / azure-functions-runtime: preview2-latest-nanoserver успешно извлечен! 14.03.2018 17:41:50 [myteslaVM] Контейнер для инициализации MyContainerFuncApp_03 / 14/2018 17:41:51 [myteslaVM] f2788b6c9c5d6115bba891f463759dd0df75c2344e6c217b0280a8b41fc2344e6c217b0280a8b41fc2344e6c217b0280a8b41b321208 \ Azure Functions Runtime \ docker \ docker.exe: ответ об ошибке от демона: контейнер f2788b6c9c5d6115bba891f463759dd0df75c2344e6c217b0280a8b9f686fb32

encountered an error during CreateContainer: failure in a Windows system call: No hypervisor is present on this system. (0xc0351000) extra info: {"SystemType":"Container","Name":"f2788b6c9c5d6115bba891f463759dd0df75c2344e6c217b0280a8b9f686fb32","Owner":"docker","IgnoreFlushesDuringBoot":true,"LayerFolderPath":"C:\\Program Files\\Azure Functions Runtime\\docker\\windows\\windowsfilter\\f2788b6c9c5d6115bba891f463759dd0df75c2344e6c217b0280a8b9f686fb32","Layers":[{"ID":"951f96e7-ad8c-5e5c-8533-4f70d49a4e6a","Path":"C:\\Program Files\\Azure Functions

«HostName»: «f2788b6c9c5d», «MappedDirectories»: [{«HostPath»: «c: \ windows \ temp \ fwas \ mycontainerfuncapp», «ContainerPath»: «c: \ home», «ReadOnly»: false, «BandwidthMaximum» ": 0," IOPSMaximum ": 0," CreateInUtilityVM ": false}]," HvPartition ": true," EndpointList ": [" d6c4c527-5520-40f1-9c84-2f3d8a013900 "]," HvRuntime ": {" ImagePath " : "C: \ Program Files \ Среда выполнения функций Azure \ docker \ windows \ windowsfilter \ 545c1be2ad30f1933a07de48e4ffe611900bacafbf4b717de969b56fb8a725d6 \ UtilityVM"}, "AllowUnqualifiedDNSQuery": true}.

14.03.2018 17:41:51 [myteslaVM] Выдача команды остановки контейнеру: MyContainerFuncApp_

    03/14/2018 5:41:52 PM [myteslaVM] Error response from daemon: Cannot kill container: MyContainerFuncApp_0: No such container: MyContainerFuncApp_03/14/2018 5:41:52 PM [myteslaVM] Stop complete for container: MyContainerFuncApp_03/14/2018 5:41:52 PM [myteslaVM] ExecuteCommand called with C:\Program Files\Azure Functions Runtime\docker\docker.exe returned 125.3/14/2018 5:42:03 PM [myteslaVM]

    Function App 'MyContainerFuncApp' is starting...3/14/2018 5:42:04 PM [myteslaVM] Pull container image azfuncrun/azure-functions-runtime:preview2-latest-nanoserver3/14/2018 5:42:06 PM [myteslaVM] preview2-latest-nanoserver: Pulling from azfuncrun/azure-functions-runtime3/14/2018 5:42:06 PM [myteslaVM] Digest: sha256:dfdb47a7638d0cdd1a42c603e3e59311ee0d229222f88329a7c561fc3d8b2ff3

    3/14/2018 5:42:06 PM [myteslaVM] Status: Image is up to date for azfuncrun/azure-functions-runtime:preview2-latest-nanoserver3/14/2018 5:42:06 PM [myteslaVM] The container image azfuncrun/azure-functions-runtime:preview2-latest-nanoserver has been pulled successfully!3/14/2018 5:42:06 PM [myteslaVM] Provisioning container MyContainerFuncApp_13/14/2018 5:42:07 PM [myteslaVM] 10dfbab15acef64780c34d5d01ded776a10d074500b33ba916b032920404d1d13/14/2018 5:42:07 PM [myteslaVM] C:\Program Files\Azure Functions Runtime\docker\docker.exe: 

person Israel Calderon    schedule 14.03.2018    source источник
comment
Установлена ​​и запущена ли на вашем компьютере функция Hyper-V и запущена ли служба докеров? Это сообщение об ошибке В этой системе нет гипервизора. намекает на некоторые проблемы с вашей инфраструктурой виртуализации.   -  person kim    schedule 14.03.2018
comment
Я настроил Hyper-V с помощью Server Manager Tool. Об управлении. Мастер добавления ролей и компонентов. Кажется, что он работает, однако я не знаю, есть ли какая-то команда для подтверждения, что она правильно настроена.? Фактически, в службах есть некоторые службы для работы Hyper-V. -Служба обмена данными -Интерфейс гостевой службы -Служба выключения гостя -Служба сердцебиения -Служба хост-вычислений -Служба PowerShell Direct -Виртуализация удаленных рабочих столов -Служба синхронизации времени -Управление виртуальными машинами -Требование теневого копирования тома. Для Докера. Я проверил службы, и там работает одна служба. -Docker Engine.   -  person Israel Calderon    schedule 15.03.2018


Ответы (3)


Изучив эту тему, я понял, что это не работает с базовым планом (SKU) для виртуальных машин.

Работает только для SKU в стандартном плане.

Применимо как для Windows Pro, так и для Windows Server 2016.

введите здесь описание изображения

person Israel Calderon    schedule 16.05.2018

После некоторого исследования я сделал следующие шаги, чтобы попытаться устранить эту ошибку.

1.Конфигурация Windows Server 2016

https://app.pluralsight.com/player?course=installing-windows-server-2016&author=greg-shields&name=installing-windows-server-2016-m2&clip=5&mode=live

--Install Features and Roles.

2. установить Hyper-V

https://docs.microsoft.com/en-us/windows-server/virtualization/hyper-v/get-started/install-the-hyper-v-role-on-windows-server

To check Hyper-V installed, run this cmd let in Power Shell.
Get-WindowsFeature -ComputerName <computer_name>  

Get-WindowsFeature -ComputerName MyteslaVM

To Install Hyper-V
Add-WindowsFeature –name RSAT-Hyper-V-Tools

    https://social.technet.microsoft.com/Forums/windows/en-US/f750d5e3-69f8-4cbd-a7aa-98e2fd41c618/need-to-install-hyperv-management-tools-on-server-2012-vm?forum=winserverhyperv

3.Запустить версию Docker.

4. Запустите Dockerd "Daemon".

https://www.bountysource.com/issues/40602674-can-t-start-docker-service-on-windows-server-vm
dockerd --debug

Stop-service docker
Get-ContainerNetwork | Remove-ContainerNetwork -Force
Start-service docker

5. Get-VM | Set-VMProcessor -ExposeVirtualizationExtensions $ true

https://github.com/Azure/Azure-Functions/issues/359

6.Установите Docker

https://docs.microsoft.com/en-us/virtualization/windowscontainers/quick-start/quick-start-windows-server

Install-Module -Name DockerMsftProvider -RequiredVersion 1.0.0.3
Install-Module -Name DockerMsftProvider -Repository PSGallery -Force
Install-Package -Name docker -ProviderName DockerMsftProvider

7.Установите новейшие инструменты-ядро-функции-azure:

npm i -g azure-functions-core-tools@core

 Run npm i -g npm           **to update
  1. Установите .NET Core 2.0

    https://www.microsoft.com/net/download/windows

9. Чтобы включить вложенную виртуализацию, необходимо запустить следующий командлет на узле Hyper-V:

Get-VM | Set-VMProcessor -ExposeVirtualizationExtensions $true

10. запустить скрипт

https://github.com/moby/moby/issues/19685

11.Загрузите azure-functions-runtime: 2.0.0-nanoserver.

docker pull microsoft/azure-functions-runtime:2.0.0-nanoserver-1709

12. один из компонентов Hyper-V не запущен.

https://social.technet.microsoft.com/Forums/en-US/b4d0761d-6048-4cb8-9a1f-1a2544b4ceb2/one-of-the-hyperv-components-is-not-running?forum=win10itprovirt

13. Отключите Защитник Windows.

https://www.windowscentral.com/how-permanently-disable-windows-defender-windows-10

person Israel Calderon    schedule 03.04.2018

Похоже, что компонент среды выполнения Azuer Function не работает для Windows Server 2016, поскольку контейнеры.

Я попробовал это с новой виртуальной машиной с Windows 10 Pro. И теперь это работает. Шаги:

  1. Создание виртуальной машины с Windows 10 Pro
  2. Установить / включить Hyper-V
  3. Установите и настройте компонент для функций Azure.

см. изображение для запуска функций Azure

person Israel Calderon    schedule 03.05.2018