无法将azure注册表中的docker镜像托管到azure批处理

问题描述 投票:0回答:1

我是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 ---内部异常堆栈跟踪结束---

可能是什么问题?谢谢。

azure docker .net-core azure-batch azure-container-registry
1个回答
1
投票

由于评论最终成为答案,我在这里发布它是为了明确未来的观众: 该任务需要以提升的权限运行。例如。

containerTask.UserIdentity = new UserIdentity(new AutoUserSpecification(elevationLevel: ElevationLevel.Admin, scope: AutoUserScope.Task));

有关更多信息,请参阅the docs

© www.soinside.com 2019 - 2024. All rights reserved.