typescript - 使用单个 docker-compose 文件从自定义管道任务连接到 2 个 ACR
问题描述
我正在使用 Typescript 更新自定义 Azure 管道任务。原始任务从单个 ACR 中提取图像,现在我想从另一个 ACR 中提取图像。
我首先在 ACR 前面创建一个用于身份验证的令牌:
registryAuthenticationToken = new ACRAuthenticationTokenProvider(tl.getInput("azureSubscriptionEndpoint"), tl.getInput("azureContainerRegistry")).getAuthenticationToken();
之后,我通过调用此类的 open 方法打开与 ACR 的连接(此处的 hostEndpoint 为空):
export default class DockerComposeConnection extends ContainerConnection
{
...
public open(hostEndpoint?: string, authenticationToken?: AuthenticationToken): any
{
super.open(hostEndpoint, authenticationToken);
...
}
最后我正在调用docker-compose up
命令。
这适用于单个 ACR。现在有了第二个 ACR 和一个包含来自两个 ACR 的所有服务的单个 docker-compose 文件,我不知道如何解决从它们两个下载的问题。
我已经尝试像上面一样创建一个额外的令牌,但是对于第二个 ACR,然后我尝试打开与第一个并行的另一个连接并继续其他所有操作。这样做时,我收到一条错误消息:
未经授权:需要身份验证
即使我正在处理的 docker-compose 文件不包含来自第二个 ACR 的任何图像,我也会收到此错误,这意味着连接本身已经失败并且它使整个任务失败。
我尝试使用单个 docker compose 文件从 2 个 ACR 中提取图像的流程是否正确?也许我需要做一些不同的事情,比如使用 2 个 docker compose 文件,每个 ACR 一个?
解决方案
推荐阅读
- java - Hybris 更新问题 - azure.abstractbundler6307sn 表不存在
- javascript - css 焦点动画无法正常工作?
- javascript - 为数百万个点生成热图图层
- linux - 在 bash 中跳过(转到)一段代码?
- python - 从网站抓取数据并写入 csv 文件时,仅将最后一行写入文件
- javascript - 无法在 jquery 的另一个函数中调用函数
- laravel - 如何将自定义方法添加到 Lumen 的响应类
- apache-spark - 使用 Apache spark 合并 Neo4j 和 HBase 数据
- android - 如何在 ViewPager 中添加 AnimationDrawable?
- spring - jpaRepository Distinct 方法不起作用