使用 Artifact Registry 的 GCP Dockerfile

GCP Dockerfile using Artifact Registry

我有一个问题。

使用 Artifact Registry 中的 pip 工件构建 Docker 图像的最佳方法是什么?

我有一个运行 Docker 构建的 Cloud Build 构建,唯一的 Docker 文件是 pip install -r requirements.txt,其中一个依赖项是位于 Artifact Registry 中的库.

在使用图像 gcr.io / cloud-builders / docker 执行阶段时,我收到无法访问我的 Artifact Registry 的错误,这很合乎逻辑。我只能从执行给定步骤的图像访问,不能从在此步骤中构建的图像访问。

有什么想法吗?

编辑:

现在我将使用 Secret Manager 将 JSON 密钥传递到我的 Docker 文件,但希望有更好的解决方案。

当您使用 Cloud Build 时,您可以通过 Docker 构建过程转发元数据服务器访问。是documented,但绝对不清楚(个人第一次发邮件给Cloud Build PM问他,他把文档发给我link。)

现在,您的 docker 构建可以访问元数据服务器并通过 Cloud Build runtime service account 进行身份验证。它应该使您的过程最简单。