从与 Google Cloud Run docker 注册表关联的容器中,当我尝试挂载 Google Storage Bucket 时,我收到以下内容。显然,如果没有特权 docker 执行,这是意料之中的,据我调查,“Google Cloud Run”实例并不意味着支持像 Google Compute Engine 这样的特权容器执行。
但是我仍然在问是否有人对此有任何其他了解,还有其他方法可以通过 Google Run 容器挂载存储桶吗?
Opening GCS connection... Opening bucket... Mounting file system... daemonize.Run: readFromProcess: sub-process: mountWithArgs: mountWithConn: Mount: mount: running fusermount: exit status 1
stderr:
fusermount: fuse device not found, try 'modprobe fuse' first
最佳答案
将此作为社区 Wiki 发布,因为它基于 @JohnHanley 和 @SuperEye 的评论:
根据你提到的:
My docker images are not web services.
如果是这种情况,则您无法将 Cloud Run 用于您尝试执行的操作。 Cloud Run 是一个 HTTP 请求/响应系统。您的容器必须响应 HTTP 请求,否则它将被终止。
另外,对于您的其他评论:
Google Compute Engine cannot run docker images from Container Registry
这是一个错误的假设。 Compute Engine 支持容器注册表。
总之,对于将存储桶挂载为文件系统的最终目标,Cloud Run 不支持该功能。另一种方法是使用 App Engine Flex。
关于google-cloud-platform - Google Cloud Run/挂载 Google Storage Bucket,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/60270084/