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

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

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

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

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

コンパイル済みバイナリ

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

コンパイル言語の場合は、デプロイする前に Linux OS をターゲットとするバイナリをビルドしてください。たとえば、linux/amd64 をターゲットとする Go アプリケーションをコンパイルするには、次のコマンドを実行します。

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

Cloud Run へのデプロイ

gcloud beta run deploy コマンドを使用して、ソースから Cloud Run にサービスをデプロイします。次のいずれかのデプロイ方法を使用して、ベースイメージ(osonly24 など)を指定します。

ビルド

ビルドを使用してソースから Cloud Run に Go アプリケーションをデプロイするには、次のコマンドを実行します。

gcloud beta run deploy SERVICE \
--source . \
--base-image=osonly24 \
--project PROJECT_ID \
--automatic-updates

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

  • SERVICE: Cloud Run サービスの名前。
  • PROJECT_ID: Google Cloud プロジェクト ID。

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

ビルドなし

ビルドを使用せずにソースから 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)。

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