我把头撞在墙上,试图弄清楚如何以编程方式获取 Azure 容器注册表中的图像列表。
一切似乎都归结为查看 Docker.DotNet 自己的图像列表本地实例化,并通过该本地存储库推/拉到 ACR - 但没有任何东西告诉我如何从ACR 本身。在挖掘 azure 的其余 API 时,看起来只有一组“管理”选项可用(获取 ACR 列表,获取 ACR 的属性,但没有什么比这更深入)。
我可以通过 Azure CLI 获取图像名称列表,然后是它们的图像名称标签——但我希望在 C# 应用程序中获取可枚举的图像列表(事实上,在 web-api 中)。
本质上 - 我想要做的是在 docker 中远程运行图像列表 - 并将这些图像与 ACR 中的内容进行比较,以给出“嘿,这个图像的更新版本可用”。
有人做过吗?有什么作用?
像这样简单吗(对于 Docker):
var _credentials = new BasicAuthCredentials("MY_REG_USERNAME", "MY_REG_PASSWORD");
var _config = new DockerClientConfiguration(new Uri("MY_REGISTRY_NAME.azurecr.io"), _credentials);
DockerClient _client = _config.CreateClient();
var myList = await _client.Images.ListImagesAsync(
new Docker.DotNet.Models.ImagesListParameters() { All = true }
);
还是不可能?
我已经搞砸了 IoT 集线器并使用 DeviceClient 获取设备孪生列表等——ACR 没有这样的东西吗?