Base images

A base image is the starting point for most container-based development workflows. Developers start with a base image and layer on top of it the necessary libraries, binaries, and configuration files used to run their application. Google Cloud's buildpacks publishes base images with multiple configurations of the available system packages and languages.

Security and maintenance updates to these base images are made available through routine updates. Google Cloud's buildpacks applies these updates automatically or lets you manually update, depending on the environment and your configuration. For example, Cloud Run functions supports automatic updates.

Base images are hosted in every region where Artifact Registry is available. You can customize the base image path by replacing the first portion of the URI with your region of choice:

REGION-docker.pkg.dev/serverless-runtimes/STACK/runtimes/RUNTIME_ID

Replace:

  • REGION with the preferred region, for example us-central1.
  • STACK with the preferred operating system stack, for example google-22.
  • RUNTIME_ID with the runtime ID used by your function, for example python310.

For example, buildpacks references the latest Node.js 20 base image using the google-22 stack, hosted in us-central1 with the following URL: us-central1-docker.pkg.dev/serverless-runtimes/google-22/runtimes/nodejs22.

Node.js

Runtime Generation Environment Runtime ID
Node.js 22 (preview only) 2nd gen Ubuntu 22.04 nodejs22
Node.js 20 1st gen, 2nd gen Ubuntu 22.04 nodejs20
Node.js 18 1st gen, 2nd gen Ubuntu 22.04 nodejs18
Node.js 16 1st gen, 2nd gen Ubuntu 18.04 nodejs16
Node.js 14 1st gen, 2nd gen Ubuntu 18.04 nodejs14
Node.js 12 1st gen, 2nd gen Ubuntu 18.04 nodejs12
Node.js 10 1st gen, 2nd gen Ubuntu 18.04 nodejs10
Node.js 8 1st gen, 2nd gen Ubuntu 18.04 nodejs8
Node.js 6 1st gen, 2nd gen Ubuntu 18.04 nodejs6

Python

Runtime Generation Environment Runtime ID
Python 3.12 1st gen, 2nd gen Ubuntu 22.04 python312
Python 3.11 1st gen, 2nd gen Ubuntu 22.04 python311
Python 3.10 1st gen, 2nd gen Ubuntu 22.04 python310
Python 3.9 1st gen, 2nd gen Ubuntu 18.04 python39
Python 3.8 1st gen, 2nd gen Ubuntu 18.04 python38
Python 3.7 1st gen Ubuntu 18.04 python37

Go

Runtime Generation Environment Runtime ID
Go 1.22 2nd gen Ubuntu 22.04 go122
Go 1.21 1st gen, 2nd gen Ubuntu 22.04 go121
Go 1.20 1st gen, 2nd gen Ubuntu 22.04 go120
Go 1.19 1st gen, 2nd gen Ubuntu 22.04 go119
Go 1.18 1st gen, 2nd gen Ubuntu 22.04 go118
Go 1.16 1st gen, 2nd gen Ubuntu 18.04 go116
Go 1.13 1st gen, 2nd gen Ubuntu 18.04 go113
Go 1.11 1st gen, 2nd gen Ubuntu 18.04 go111

Java

Runtime Generation Environment Runtime ID
Java 21 2nd gen Ubuntu 22.04 java21
Java 17 1st gen, 2nd gen Ubuntu 22.04 java17
Java 11 1st gen, 2nd gen Ubuntu 18.04 java11

Ruby

Runtime Generation Environment Runtime ID
Ruby 3.3 1st gen, 2nd gen Ubuntu 22.04 ruby33
Ruby 3.2 1st gen, 2nd gen Ubuntu 22.04 ruby32
Ruby 3.0 1st gen, 2nd gen Ubuntu 18.04 ruby30
Ruby 2.7 1st gen, 2nd gen Ubuntu 18.04 ruby27
Ruby 2.6 1st gen, 2nd gen Ubuntu 18.04 ruby26

PHP

Runtime Environment Generation Runtime ID
PHP 8.3 2nd gen Ubuntu 22.04 php83
PHP 8.2 1st gen, 2nd gen Ubuntu 22.04 php82
PHP 8.1 1st gen, 2nd gen Ubuntu 18.04 php81
PHP 7.4 1st gen, 2nd gen Ubuntu 18.04 php74

.NET Core

Runtime Generation Environment Runtime ID
.NET Core 8 2nd gen Ubuntu 22.04 dotnet8
.NET Core 6 1st gen, 2nd gen Ubuntu 22.04 dotnet6
.NET Core 3 1st gen, 2nd gen Ubuntu 18.04 dotnet3