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 | 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.23 (Preview only) |
2nd gen | Ubuntu 22.04 | go123 |
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 |