기본 이미지는 운영체제 스택 및 언어 런타임으로 구성됩니다.
- 스택은 Linux 배포 버전과 시스템 패키지(예: OpenSSL 및
curl
)로 구성됩니다. - 언어 런타임은 애플리케이션에 사용되는 프로그래밍 언어의 특정 버전입니다.
Cloud Run은 여러 언어 런타임을 지원하며, 각각은 Google Cloud 빌드팩에서 제공되는 컨테이너 기본 이미지를 통해 제공됩니다. 언어 런타임은 해당 오픈소스 커뮤니티에서 지원되는 경우에만 사용할 수 있습니다.
개발자는 지원이 종료되기 전 새로운 언어 런타임으로 서비스를 업그레이드해야 합니다. 자세한 내용은 Cloud Run 런타임 수명 주기를 참조하세요.
Cloud Run 수명 주기 정책은 Cloud Run 외부에서 빌드된 컨테이너에 적용되지 않습니다.
언어 런타임 사용
Cloud Run 언어 런타임은 다음 용도로 사용됩니다.
- 함수 배포
- 자동 보안 업데이트 사용 설정
- 컨테이너 빌드를 위한 기본 이미지
보안 및 유지보수 업데이트
보안 및 유지보수 업데이트는 정식 버전 언어 런타임에 사용할 수 있습니다. 자동 보안 업데이트 구성 방법에 따라 자동 또는 수동으로 이러한 업데이트를 적용할 수 있습니다. 자동 보안 업데이트는 Cloud Run에 함수를 배포할 때 기본적으로 사용 설정됩니다.
기본 이미지를 가져오는 방법
기본 이미지는 Artifact Registry를 사용할 수 있는 모든 리전에서 호스팅됩니다.
기본 이미지를 지정하는 방법은 세 가지입니다.
RUNTIME_ID
: 기본 스택을 사용해서 지정된 언어에 대한 기본 이미지를 제공합니다. 기본 이미지는 서비스가 배포된 동일한REGION
에 있는 저장소에서 가져옵니다. 대부분의 경우RUNTIME_ID
를 지정하는 것이 좋습니다.STACK/RUNTIME_ID
: 전체 기본 이미지 경로의 별칭입니다. 기본 이미지는 서비스가 배포된 동일한REGION
에 있는 저장소에서 가져옵니다. 스택에 특정 시스템 패키지가 필요하면 이 옵션을 사용합니다.REGION-docker.pkg.dev/serverless-runtimes/STACK/runtimes/RUNTIME_ID
: 전체 기본 이미지 경로입니다. 특정 기본 이미지와 이미지를 다운로드하는 리전을 완전히 제어하려면 이 옵션을 사용합니다.
세 가지 방법 중 하나를 사용하여 기본 이미지를 지정하려면 다음과 같이 바꿉니다.
- REGION을 선호하는 리전으로 바꿉니다(예:
us-central1
). - STACK을 선호하는 운영체제 스택으로 바꿉니다(예:
google-22-full
). - RUNTIME_ID를 함수에서 사용하는 언어 런타임 ID로 바꿉니다(예:
python310
).
예를 들어 us-central1
에서 호스팅되고 google-22-full
스택을 사용하는 최신 Node.js 20 기본 이미지의 전체 기본 이미지 경로를 참조하려면 다음 URL을 사용합니다.
us-central1-docker.pkg.dev/serverless-runtimes/google-22-full/runtimes/nodejs22
Node.js
런타임 | 런타임 ID | 스택 | 런타임 기본 이미지 |
---|---|---|---|
Node.js 22 | nodejs22 |
|
|
Node.js 20 | nodejs20 |
|
|
Node.js 18 | nodejs18 |
|
|
Node.js 16 | nodejs16 | google-18-full | google-18-full/nodjes16 |
Node.js 14 | nodejs14 | google-18-full | google-18-full/nodjes14 |
Node.js 12 | nodejs12 | google-18-full | google-18-full/nodjes14 |
Node.js 10 | nodejs10 | google-18-full | google-18-full/nodjes10 |
Node.js 8 | nodejs8 | 사용 중단됨 | 사용 중단됨 |
Node.js 6 | nodejs6 | 사용 중단됨 | 사용 중단됨 |
Python
런타임 | 런타임 ID | 스택 | 런타임 기본 이미지 |
---|---|---|---|
Python 3.12 | python312 |
|
|
Python 3.11 | python311 |
|
|
Python 3.10 | python310 |
|
|
Python 3.9 | python39 | google-18-full | google-18-full/python39 |
Python 3.8 | python38 | google-18-full | google-18-full/python38 |
Python 3.7 | python37 | google-18-full | google-18-full/python37 |
Go
런타임 | 런타임 ID | 스택 | 런타임 기본 이미지 |
---|---|---|---|
Go 1.23 (미리보기 전용) |
go123 |
|
|
Go 1.22 | go122 |
|
|
Go 1.21 | go121 |
|
|
Go 1.20 | go120 |
|
|
Go 1.19 | go119 |
|
|
Go 1.18 | go118 |
|
|
Go 1.16 | go116 | google-18-full | google-18-full/go116 |
Go 1.13 | go113 | google-18-full | google-18-full/go113 |
Go 1.11 | go111 | 사용 중단됨 | 사용 중단됨 |
Java
런타임 | 런타임 ID | 스택 | 런타임 기본 이미지 |
---|---|---|---|
자바 21 | java21 |
|
|
자바 17 | java17 |
|
|
자바 11 | java11 | google-18 | google-18/java11 |
Ruby
런타임 | 런타임 ID | 스택 | 런타임 기본 이미지 |
---|---|---|---|
Ruby 3.3 | ruby33 |
|
|
Ruby 3.2 | ruby32 |
|
|
Ruby 3.0 | ruby30 | google-18-full | google-18-full/ruby30 |
Ruby 2.7 | ruby27 | google-18-full | google-18-full/ruby27 |
Ruby 2.6 | ruby26 | google-18-full | google-18-full/ruby26 |
PHP
런타임 | 런타임 ID | 스택 | 런타임 기본 이미지 |
---|---|---|---|
PHP 8.3 | php83 |
|
|
PHP 8.2 | php82 |
|
|
PHP 8.1 | php81 | google-18-full | google-18-full/php81 |
PHP 7.4 | php74 | google-18-full | google-18-full/php74 |
.NET Core
런타임 | 런타임 ID | 스택 | 런타임 기본 이미지 |
---|---|---|---|
.NET Core 8 | dotnet8 |
|
|
.NET Core 6 | dotnet6 |
|
|
.NET Core 3 | dotnet3 | google-18-full | google-18-full/dotnet3 |