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など)。
ビルドなしでソースからデプロイする方法については、ソースコードからサービスをデプロイするをご覧ください。