【问题标题】:Is it good practice to use Docker in a Cloud Function?在云函数中使用 Docker 是一种好习惯吗?
【发布时间】:2020-04-24 10:56:00
【问题描述】:

我正在使用由存储桶触发的云函数来处理该文件并将结果保存在另一个存储桶中。 (更具体地说,使用 Pyinstaller 将 python 文件编译为可执行文件)。但是,使用只读文件系统操作很麻烦,我只能将 /tmp 文件夹与缺少一些我需要的系统包的底层操作系统一起使用。 使用 docker 可以解决我的问题,但不确定我应该在云功能中使用还是以其他方式使用。

【问题讨论】:

  • Doug 的回答是迄今为止最好的,但需要更多信息才能回答您的问题。您的用例似乎不适合 Cloud Functions 或 Cloud Run。查看可选运行容器操作系统的 App Engine Standard、App Engine Flexible 或 Compute Engine。 Compute Engine F1 实例很便宜(每月大约 6.00 美元)。

标签: python-3.x linux docker google-cloud-platform google-cloud-functions


【解决方案1】:

如果您想使用容器化应用程序,Cloud Run 是最佳选择。

【讨论】:

    【解决方案2】:

    Cloud Functions 已经使用容器化环境。尝试添加另一层容器并不会真正帮助任何事情,并且可能会使事情变得更糟(如果你甚至可以让它工作,我非常怀疑)。您仍将拥有相同的可用底层资源,不涉及任何本地磁盘空间,以及用于在基于 tmp 的文件系统中读取和写入文件的相同内存量。

    Cloud Run 允许您部署容器,但仍然是 doesn't involve local disk space

    如果您确实需要超过/tmp 的本地磁盘空间,该空间由您选择执行工作的机器类别提供,那么 Cloud Functions 并不是完成这项工作的最佳场所。考虑改用Compute Engine, which provides local storage options。您仍然可以将 Cloud Functions 用于产品触发器,但您必须将工作委派给 Compute Engine。

    【讨论】:

      猜你喜欢
      • 2015-02-18
      • 1970-01-01
      • 2022-01-20
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2014-04-01
      • 2017-10-11
      相关资源
      最近更新 更多