操作系统专用运行时是一种与语言无关的通用运行时,适用于 Cloud Run 源代码部署。它包含基本 Ubuntu 操作系统 (OS),但不包含任何其他特定于语言的运行时组件。借助仅限操作系统的运行时,您可以从源代码部署 Go 应用和 Dart、Go 等二进制文件。您还可以使用此运行时部署从头构建的自有应用映像。
仅限操作系统的运行时与 Cloud Run 的自动基础映像更新兼容。这意味着,即使您不使用特定的受支持的语言运行时,您的应用也会自动接收操作系统级安全补丁和更新。
支持的堆栈
仅限操作系统的运行时可在 google-24 堆栈上使用。如需详细了解仅限操作系统的可用运行时版本和支持时间表,请参阅运行时生命周期。
已编译的二进制文件
仅限操作系统的运行时可让您部署预编译的二进制文件。您还可以使用运行时别名来指定基础映像。例如,如需使用 google-24/osonly24 基础映像,请指定别名 osonly24。
对于编译型语言,请确保在部署之前构建以 Linux 操作系统为目标的二进制文件。
例如,如需编译以 linux/amd64 为目标的 Go 应用,请运行以下命令:
GOOS="linux" GOARCH=amd64 go build main.go
部署到 Cloud Run
使用 gcloud beta
run deploy 命令将服务从源代码部署到 Cloud Run。使用以下任一部署方法指定基础映像(例如 osonly24):
使用 build
如需将 Go 应用从源代码部署到 Cloud Run,请运行以下命令:
gcloud beta run deploy SERVICE \
--source . \
--base-image=osonly24 \
--project PROJECT_ID \
--automatic-updates
替换以下内容:
- SERVICE:Cloud Run 服务的名称。
- PROJECT_ID: Google Cloud 项目 ID。
如需详细了解如何通过 build 从源代码进行部署,请参阅从源代码部署服务。
不使用 build
如需直接使用源代码将应用部署到 Cloud Run,请运行以下命令:
gcloud beta run deploy SERVICE \
--source . \
--no-build \
--base-image=osonly24 \
--project PROJECT_ID \
--command COMMAND
替换以下内容:
- SERVICE:Cloud Run 服务的名称。
- PROJECT_ID: Google Cloud 项目 ID。
- COMMAND:容器启动时运行的命令,例如
./main。
如需详细了解如何从源代码部署服务而不进行构建,请参阅从源代码部署服务。