OS のみのランタイムを構成する

OS のみのランタイムは、Cloud Run ソースデプロイ用の言語に依存しない汎用ランタイムです。これには、追加の言語固有のランタイム コンポーネントがないベースの Ubuntu オペレーティング システム(OS)が含まれています。OS のみのランタイムを使用すると、ソースから Go アプリケーションをデプロイしたり、Dart や Go などのバイナリをデプロイしたりできます。このランタイムを使用して、ゼロからビルドした独自のアプリケーション イメージをデプロイすることもできます。

OS のみのランタイムを使用すると、Cloud Run のベースイメージの自動更新が有効になります。つまり、特定のサポートされている言語ランタイムを使用していない場合でも、アプリケーションはオペレーティング システム レベルのセキュリティ パッチとアップデートを自動的に受信します。

サポートされているスタック

OS のみのランタイムは、google-24 スタックで使用できます。利用可能な OS のみのランタイム バージョンとサポート スケジュールの詳細については、ランタイムのライフサイクルをご覧ください。

コンパイル済みバイナリ

OS のみのランタイムを使用すると、事前コンパイル済みのバイナリをデプロイできます。ランタイム エイリアスを使用してベースイメージをターゲットにすることもできます。たとえば、google-24/osonly24 ベースイメージを使用するには、エイリアス osonly24 を指定します。

コンパイル言語の場合は、デプロイする前に、Linux OS をターゲットとするバイナリをビルドしてください。

Go

linux/amd64 をターゲットとする Go アプリケーションをコンパイルします。

GOOS="linux" GOARCH=amd64 go build main.go

Dart

linux/amd64 をターゲットとする Dart アプリケーションをコンパイルします。

dart compile exe --target-os=linux --target-arch=x64 \
    bin/server.dart -o server

Cloud Run へのデプロイ

バイナリを Cloud Run にデプロイするには、gcloud run deploy コマンドを使用して、ベースイメージ(osonly24 など)を指定します。

gcloud beta run deploy SERVICE \
--source . \
--no-build \
--base-image=osonly24 \
--project PROJECT_ID \
--allow-unauthenticated \
--command COMMAND

次のように置き換えます。

  • SERVICE: Cloud Run サービスの名前。
  • PROJECT_ID: Google Cloud プロジェクト ID。
  • COMMAND: コンテナを起動するコマンド(./main、./server など)。

ビルドなしでソースからデプロイする方法については、ソースコードからサービスをデプロイするをご覧ください。