Возможно ли развернуть это приложение для запуска через контейнер docker на Windows ВМ?
Да, возможно, вам потребуется создать размещенный агент на виртуальной машине Windows, на которой вы развертываете свое приложение. Вы можете просто использовать задачу powershell для запуска docker build
и docker run
на агенте с автоматическим размещением без необходимости загружать образ в ACR / dockerhub.
Конечно, вы также можете загрузить встроенное изображение в ACR / dockerhub, как упомянуто @Aravind. И есть задача powershell, которая извлекает образ.
Основная идея состоит в том, чтобы использовать задачу powershell для запуска команды docker на агенте, размещенном на виртуальной машине Windows. Вы можете обратиться к нижеуказанным шагам.
1, создать самодостаточного агента. Пожалуйста, проверьте подробные шаги здесь .
2, создайте конвейер сборки. Здесь - пример создания конвейера yaml. Здесь - пример создания classi c UI pipel ie.
3, Настройка конвейера сборки, Использование одной задачи powershell для запуска docker build и docker запустите команду, как описано в учебнике . (Вы также можете использовать docker task для создания и переноса sh образа в ARC / Dockerhub, а затем использовать задачу powershell, чтобы вытащить и запустить образ, как упомянуто @Aravind.)
steps:
- powershell: |
docker build -t aspnetapp .
docker run -it --rm -p 5000:80 --name aspnetcore_sample aspnetapp
displayName: 'PowerShell Script'
Примечание: пожалуйста, убедитесь, что на виртуальной машине Windows установлена docker (задача powershell вызовет docker cli, установленную на виртуальной машине). И выберите агент с собственным размещением (размещенный на Windows VM) для запуска конвейера, выбрав пул агентов , в котором находится агент с собственным размещением (решается пул агентов, включающий агент с собственным размещением) при создании агента.)