无法将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以使用自托管注册表

自托管gitlab CI / CD推送注册表到ECS服务

docker学习笔记7:发布镜像到docker hub上

同步泊坞窗使用本地注册表托管图像

如何将本地 Docker 映像部署到 Azure 应用服务?

如何在托管的 Ubuntu 代理上启用 Azure Pipelines 中的实验性 Docker 守护程序