授予 docker 容器访问 azure 存储帐户 blob 容器的权限

时间:2021-03-19 11:03:54

标签: c# docker azure-storage-blobs

我想动态授予给定 Docker 容器(或 Docker 映像,无所谓)对特定 azure 存储帐户 blob 容器的访问权限。

无论是 blob 容器还是 azure 容器都不会每次都相同,即

  • 授予 DockerContainer1 访问 AzureContainerX
  • 授予 DockerContainer2 访问 AzureContainerY
  • ...

这甚至可能吗?我可以在 dockerfile 中使用 Volume 吗?我可以从我的 .net 核心 Web API 应用程序中执行此操作吗?

如果是,怎么做?

1 个答案:

答案 0 :(得分:0)

我相信您需要在主机上设置共享命名卷,然后在运行时填充来自 AzureContainerX 的数据。然后您需要做的就是将此卷共享到 DockerContainer2 并从那里访问数据。

在Dockerfile中不使用Volumes,而是在使用CMD参数或使用compose文件启动容器时设置它们。

参考 Docker documentation 如何使用卷。您可以将卷设置为只读。

但是,我不知道您希望如何动态设置它。您需要为每个 AzureContainerY 容器进行配置,以便它们将数据放入正确的位置。此外,DockerContainer1 应配置为访问正确路径中的数据。这可以通过使用 ARG 设置 ENV 值来动态实现,但这实际上取决于此处的上下文,并且很快就会变得非常复杂。