docker - 在 GCP 的 Cloud Build 上构建 Docker 镜像,从存储桶中提取工件

标签 docker machine-learning google-cloud-platform google-cloud-build

我正在构建一个机器学习管道,需要采用多个模型,构建一个包含它们的 Docker 镜像,然后将该镜像部署到客户端的计算机上。

假设将模型文件烘焙到 Docker 镜像中将使其易于部署?

问题是如何做到这一点?

1 - 我是否下载、解压并复制 Dockerfile 中的模型。那么我该如何处理 GCP 凭据?

2 - 我是否以某种方式使用 GCP 的 Cloud Build 来处理下载,然后直接复制到 Dockerfile 中?问题:任何 CI/CD 工具(包括 Cloud Build)中都没有这方面的示例。

我什至还没有考虑过对存储桶中的模型进行版本控制,这意味着选择要下载的模型的某种逻辑。

这些选项之一可以通过 Cloud Build 实现吗?

选项 1 比选项 2 更可行吗?

最佳答案

根据您的描述,我可以想到您不断将 ML 模型(文件)推送到您想要提供给客户的存储库。

您可以Run Builds with Github checks and Cloud BuildRun builds on Github (它们非常相似;区别在于工具的使用)。两个选项都使用 Build Triggers

使用这些选项中的任何一个,可以根据对源存储库的任何更改或仅匹配特定条件的更改来重新构建镜像。这样,我们就可以了解如何做到这一点以及版本控制可能出现的问题。

为此设置 Github 存储库时,只会要求您表明身份。一旦它们链接起来,凭据就不再是问题。

我还认为您将更新调用 ML 模型的代码。如果您考虑在 Cloud Run 上运行代码(例如,在将代码发送给客户之前进行测试),您可以尝试 Continuous Deployment from git on Cloud Run ,它也使用 Cloud Build 触发器。

您可以将上述信息与 Quickstart for Docker and Cloud Build 结合起来.

以下是有关 How using GitHub and Google Cloud Build simplify your CI process 的更多信息.

这么说,我认为你的选项 2 是一个更好的主意。

关于docker - 在 GCP 的 Cloud Build 上构建 Docker 镜像,从存储桶中提取工件,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/58295307/

相关文章:

google-cloud-platform - gcloud 对 add-iam-policy-binding 的混淆

docker - 如何使用 Docker 的 COPY/ADD 指令将单个文件复制到镜像

jenkins - 我将如何在 CI 中创建包含大量服务的 docker 环境

docker - Dockerfile:没有软件包与php匹配

machine-learning - 如何在 Twitter 数据上形成 LDA 文档

sql-server - Google Composer - 如何在环境中安装 Microsoft SQL Server ODBC 驱动程序

docker - Docker:没有这样的文件或目录

machine-learning - 术语提取的 tf-idf 背后的直觉

python - 测试数据的 f1 分数

google-app-engine - 在项目中添加自定义域成员作为所有者 - GAE