ACI кэширует образы докера после извлечения - PullRequest
0 голосов
/ 27 мая 2019

В основном у меня есть док-контейнер с установленными инструментами MSBuild и агент Vsts. Сборка док-контейнера занимает много времени из-за установки Visual Studio. (45 минут на локальной машине)

В DevOps Azure я создал конвейер, который использует этот образ для запуска, построения и развертывания наших приложений. После завершения сборки он должен остановить контейнер до следующего запроса.

Я думал, что использование ACI сделает мой текущий локальный сервер сборки устаревшим, потому что я считаю несколько глупым иметь полноценный сервер Windows для запуска на нем докера с контейнерами, на которых также работает полноценный сервер Windows. Либо я что-то пропустил, либо запускаю msbuild, и агент на физическом сервере побеждает цель всего решения для докера.

С другой стороны, удаление этого физического сервера и замена его ACI должны помочь. Запуск и остановка этого контейнера с помощью Azure Cli может быть выполнена с помощью Azure Devops. Единственная проблема здесь заключается в том, что экземпляр контейнера не имеет состояния, что имеет неприятный побочный эффект, тянущий изображение при каждом запуске экземпляра, что занимает полчаса. Поддерживать работу экземпляра не нужно из-за затрат. Если бы при каждом перезапуске кэшировалось и использовалось только извлеченное изображение, это было бы наилучшим решением, но, к сожалению, это не так.

Я что-то пропустил на предварительном следствии или сделал какие-то неправильные предположения?

1 Ответ

0 голосов
/ 27 мая 2019

Нет, вы можете иметь кэш в Azure Devops, у него уже есть некоторые кэшированные базовые изображения, вы можете запросить этот API , чтобы найти их.

Контейнер AzureЭкземпляры используют механизм кэширования, чтобы ускорить время запуска контейнера для изображений, построенных на общих базовых образах Windows, включая nanoserver: 1809, servercore: ltsc2019 и servercore: 1809.Часто используемые образы Linux, такие как ubuntu: 1604 и alpine: 3.6, также кэшируются.

Чтение:
https://docs.microsoft.com/bs-latn-ba/azure/container-instances/container-instances-faq#what-windows-base-os-images-are-supported
https://docs.microsoft.com/bs-latn-ba/azure/container-instances/container-instances-troubleshooting?view=azurermps-6.13.0#cached-images

...