Я новичок в докере, а также в лазурной партии. Проблема, с которой я столкнулся в настоящее время, заключается в том, что у меня есть 2 консольных приложения dotnet, одно из них запускается локально (которое программно создает пул, задание и задачу в пакете Azure), а для второго я создал образ докера и отправил его в реестр контейнеров Azure. Теперь дело в том, что я создаю cloudtTask из локально запущенного приложения как monetione ниже
TaskContainerSettings cmdContainerSettings = new TaskContainerSettings(
imageName: "myrepository.azurecr.io/pipeline:latest",
containerRunOptions: "--rm"
);
CloudTask containerTask = new CloudTask(
id: "task1",
commandline: cmdLine);
containerTask.ContainerSettings = cmdContainerSettings;
Console.WriteLine("Task created");
await batchClient.JobOperations.AddTaskAsync(newJobId, containerTask);
Console.WriteLine("-----------------------");
и добавьте его в BatchClient, в пакете Azure (портал Azure) я получаю следующее:
System.UnauthorizedAccessException: Access to the path '/home/_azbatch/.dotnet' is denied. ---> System.IO.IOException: Permission denied --- End of inner exception stack trace ---
В чем может быть проблема? Спасибо.
Спасибо @gezzahead, я попробовал с повышенными правами, и это сработало.
Поскольку комментарий оказался ответом, я публикую его здесь для ясности для будущих зрителей:
Задачу нужно запускать с повышенными правами.
например.
containerTask.UserIdentity = new UserIdentity(new AutoUserSpecification(elevationLevel: ElevationLevel.Admin, scope: AutoUserScope.Task));
См. документы для получения дополнительной информации.
Вы пробовали запустить задачу с пользователем с повышенными привилегиями?