无法将azure注册表中的docker镜像托管到azure批处理
Posted
tags:
篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了无法将azure注册表中的docker镜像托管到azure批处理相关的知识,希望对你有一定的参考价值。
我是docker以及azure批次的新手。我目前遇到的问题是我有2个dotnet控制台应用程序,其中一个在本地运行(以编程方式在azure批处理上创建池,作业和任务),第二个我创建了一个docker镜像并推送到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门户网站)中获得的expcetion是这样的:
System.UnauthorizedAccessException:拒绝访问路径'/home/_azbatch/.dotnet'。 ---> System.IO.IOException:Permission denied ---内部异常堆栈跟踪结束---
可能是什么问题?谢谢。
答案
由于评论最终成为答案,我在这里发布它是为了明确未来的观众: 该任务需要以提升的权限运行。例如。
containerTask.UserIdentity = new UserIdentity(new AutoUserSpecification(elevationLevel: ElevationLevel.Admin, scope: AutoUserScope.Task));
有关更多信息,请参阅the docs
以上是关于无法将azure注册表中的docker镜像托管到azure批处理的主要内容,如果未能解决你的问题,请参考以下文章
配置Azure ContainerInstance以使用自托管注册表