可以构建 docker 镜像的 Google Cloud Run 上的 GitHub Actions Runner 容器

问题描述

我构建了一个 docker 镜像,当运行时,它会将自己注册为 GitHub Runner。除其他外,此运行器将用于构建镜像并将其推送到 GitHub Container Registry。我不想将容器部署到 GKE 或 Compute,因为我不想管理这些资源的开销。我更愿意将容器部署到 Google Cloud Run。我已经搜索了文档寻求帮助,但我似乎无法找到以下问题的答案:

  1. 当容器部署到 GCP Cloud Run 时,我可以运行“docker in docker”吗?

  2. 如何在将容器部署到 Google Cloud Run 时指定所需的卷挂载,即与 docker run 的通常映射是:

    -v /var/run/docker.sock:/var/run/docker.sock

解决方法

  1. 我从未测试过,但当前的 Cloud Run 沙箱可能会阻止使用此王者。我真的不知道这个用例!
  2. 您无法在 Cloud Run 中装载卷,它是无状态的。您在 /tmp 目录中只有一个内存文件系统(并且它在内存中,请正确调整 Cloud Run 实例内存的大小以将其考虑在内)。您可以将您的实例连接到第 3 方产品,例如 Google Cloud Storage 或数据库,但无法在 Cloud Run 上安装卷(目前)

如果您有这些要求,您可以看看自动驾驶并直接在完全托管的 K8S 上部署您的容器。