用于 Cloud Run 的 `gcloud builds submit`

Ana*_*pta 6 docker google-cloud-platform google-cloud-build google-cloud-run

我有这种情况,因为文档不清楚。该gcloud builds submit --tag gcr.io/[PROJECT-ID]/helloworld命令将

  • 归档我的源文件夹的内容,然后在 Google 构建服务器上运行 docker build。
  • 此外,它只查看要存档的内容的 .gitignore 文件。如果它是一个 docker 构建,它应该尊重 .dockerignore 文件。
  • 也没有关于如何编译应用程序的消息。如果在 dockerized 之前它不是预编译的应用程序,则必须对其进行编译。

快速指南只认为应用程序是一个预编译的应用程序,并且需要按照 .gitignore 文件夹的所有内容来运行应用程序。人们不会意识到新技术的所有这些。我只是自己想出来的。

因此,完成所有这些操作的另一种方法是在 docker 文件中包含构建步骤(这将使我的图像变重)或在本地(手动)创建一个 docker 图像,然后将图像提交到存储库(手动)然后发布到云运行(使用记录的或手动的第二个命令)。

我这里有什么遗漏吗?

Ste*_*ren 6

Cloud Build 尊重.dockerignore. 它将上传所有不在 中的文件.gitignore,但一旦上传,它将尊重.dockerignore用于构建的文件。

编译您的应用程序通常与“容器化”它同时完成。例如,对于 Node.js 应用程序,Dockerfile 必须运行npm install --production. 我建议查看快速入门中的许多示例。


Dus*_*ram 1

我想你已经明白了,基本上你的选择是:

一般来说,如果您需要额外的构建步骤,我建议将它们包含在您的 Docker 文件中。理想情况下,无论哪种情况,您都应该能够从源代码 + Dockerfile 转换为完整的映像。