Kontrak runtime container

Halaman ini berisi daftar persyaratan dan perilaku utama container di Cloud Run. Halaman ini juga menjelaskan perbedaan antara layanan Cloud Run, tugas Cloud Run, dan kumpulan pekerja Cloud Run jika diperlukan.

Bahasa dan gambar yang didukung

Image container Anda dapat menjalankan kode yang ditulis dalam bahasa pemrograman pilihan Anda dan menggunakan image dasar apa pun, asalkan image tersebut mematuhi batasan yang tercantum di halaman ini.

File yang dapat dieksekusi di image container harus dikompilasi untuk Linux 64-bit. Cloud Run secara khusus mendukung format ABI x86_64 Linux.

Cloud Run menerima image container di format gambar Docker Image Manifest V2, Schema 1, Schema 2, dan OCI. Cloud Run juga menerima image container yang dikompresi Zstd.

Jika men-deploy image multiarsitektur, daftar manifes harus menyertakan linux/amd64.

Untuk fungsi yang di-deploy dengan Cloud Run, Anda dapat menggunakan salah satu image dasar runtime Cloud Run yang dipublikasikan oleh buildpack Google Cloud untuk menerima update keamanan dan pemeliharaan otomatis. Lihat Jadwal dukungan runtime untuk mengetahui runtime yang didukung.

Memproses permintaan pada port yang benar (layanan)

Layanan Cloud Run memulai instance Cloud Run untuk menangani permintaan yang masuk. Instance Cloud Run selalu memiliki satu container masuk yang memproses permintaan, dan secara opsional satu atau beberapa container file bantuan. Detail konfigurasi port berikut hanya berlaku untuk container masuk, bukan untuk file bantuan.

Container ingress dalam sebuah instance harus memproses permintaan pada 0.0.0.0 di port tujuan pengiriman permintaan. Khususnya, container ingress tidak boleh memproses 127.0.0.1. Secara default, permintaan akan dikirim ke 8080, tetapi Anda dapat mengonfigurasi Cloud Run untuk mengirim permintaan ke port pilihan Anda. Cloud Run memasukkan variabel lingkungan PORT ke dalam container masuk.

Container yang berjalan dalam eksekusi tugas harus keluar setelah selesai

Untuk tugas Cloud Run, container harus keluar dengan kode keluar 0 saat tugas berhasil diselesaikan, dan keluar dengan kode keluar bukan nol saat tugas gagal.

Karena tugas tidak boleh melayani permintaan, container tidak boleh memproses port atau memulai server web.

Enkripsi lapisan transpor (TLS)

Container tidak boleh menerapkan keamanan lapisan transport secara langsung. TLS dihentikan oleh Cloud Run untuk HTTPS dan gRPC, lalu permintaan akan di-proxy-kan sebagai HTTP/1 atau gRPC ke container tanpa TLS.

Jika Anda mengonfigurasi layanan Cloud Run untuk menggunakan HTTP/2 secara menyeluruh, container Anda harus menangani permintaan dalam format cleartext (h2c) HTTP/2, karena TLS masih dihentikan secara otomatis oleh Cloud Run.

Respons (layanan)

Untuk layanan Cloud Run, container Anda harus mengirim respons dalam waktu yang ditentukan di setelan waktu tunggu permintaan setelah menerima permintaan, termasuk waktu startup container. Jika tidak, permintaan akan berakhir dan error 504 akan ditampilkan.

Penyimpanan dalam cache respons dan cookie

Jika respons layanan Cloud Run Anda berisi header Set-Cookie, Cloud Run akan menetapkan header Cache-Control ke private sehingga respons tidak di-cache. Tindakan ini mencegah pengguna lain mengambil cookie.

Variabel lingkungan

Berbagai variabel lingkungan tersedia untuk layanan dan tugas Cloud Run.

Variabel lingkungan untuk layanan

Variabel lingkungan berikut akan otomatis ditambahkan ke semua container yang berjalan, kecuali PORT. Variabel PORT hanya ditambahkan ke container masuk:

Nama Deskripsi Contoh
PORT Port yang akan diproses oleh server HTTP Anda. 8080
K_SERVICE Nama layanan Cloud Run yang sedang dijalankan. hello-world
K_REVISION Nama revisi Cloud Run yang sedang dijalankan. hello-world.1
K_CONFIGURATION Nama konfigurasi Cloud Run yang membuat revisi. hello-world

Variabel lingkungan untuk tugas

Untuk tugas Cloud Run, variabel lingkungan berikut telah ditetapkan:

Nama Deskripsi Contoh
CLOUD_RUN_JOB Nama tugas Cloud Run yang sedang dijalankan. hello-world
CLOUD_RUN_EXECUTION Nama eksekusi Cloud Run yang sedang dijalankan. hello-world-abc
CLOUD_RUN_TASK_INDEX Indeks tugas ini. Dimulai dari 0 untuk tugas pertama dan bertambah 1 untuk setiap tugas yang berurutan, hingga jumlah maksimum tugas minus 1. Jika Anda menetapkan --parallelism ke lebih besar dari 1, tugas mungkin tidak mengikuti urutan indeks. Misalnya, tugas 2 dapat dimulai sebelum tugas 1. 0
CLOUD_RUN_TASK_ATTEMPT Frekuensi percobaan ulang tugas ini. Dimulai dari 0 untuk percobaan pertama dan akan bertambah 1 untuk setiap percobaan ulang berturut-turut, hingga nilai percobaan ulang mencapai batas maksimum. 0
CLOUD_RUN_TASK_COUNT Jumlah tugas yang ditentukan dalam parameter --tasks. 1

Variabel lingkungan untuk kumpulan pekerja

Cloud Run menetapkan variabel lingkungan berikut untuk kumpulan pekerja:

Nama Deskripsi Contoh
CLOUD_RUN_WORKER_POOL Nama kumpulan pekerja Cloud Run yang sedang berjalan. hello-world
CLOUD_RUN_WORKER_POOL_REVISION Nama revisi kumpulan pekerja Cloud Run yang sedang berjalan. hello-world.1

Persyaratan header respons dan permintaan (layanan)

Untuk layanan, Cloud Run membatasi nama header ke ASCII non-spasi yang dapat dicetak, dan tidak boleh berisi titik dua. Cloud Run membatasi nilai header untuk karakter ASCII yang terlihat, ditambah spasi dan tab horizontal, sesuai dengan IETF RFC 7230.

Akses sistem file

Sistem file setiap container dapat ditulis dan tunduk pada perilaku berikut:

  • Ini adalah sistem file dalam memori, sehingga penulisan ke file ini akan menggunakan memori instance.
  • Data yang ditulis ke sistem file tidak akan bertahan saat instance berhenti.

Anda tidak dapat menentukan batas ukuran untuk sistem file ini, sehingga Anda berpotensi menggunakan semua memori yang dialokasikan untuk instance dengan menulis ke sistem file dalam memori, yang akan menyebabkan instance mengalami error. Anda dapat menghindari masalah ini jika menggunakan volume dalam memori khusus dengan batas ukuran.

Siklus proses instance

Karakteristik siklus proses berbeda untuk tugas dan layanan Cloud Run, sehingga nanti akan dijelaskan secara terpisah di subbagian berikut.

Untuk layanan

Karakteristik berikut hanya berlaku untuk layanan.

Penskalaan layanan

Secara default, layanan Cloud Run diskalakan secara otomatis ke jumlah instance yang diperlukan untuk menangani semua permintaan, peristiwa, atau penggunaan CPU yang masuk. Anda dapat secara opsional menggunakan penskalaan manual jika Anda memerlukan kontrol lebih besar atas perilaku penskalaan.

Setiap instance menjalankan sejumlah container tetap – satu container masuk dan secara opsional satu atau beberapa container file bantuan.

Jika revisi tidak menerima traffic apa pun, revisi tersebut akan diskalakan ke jumlah minimum instance yang dikonfigurasi (nol secara default).

Startup

Untuk layanan Cloud Run, instance Anda harus memproses permintaan dalam waktu 4 menit setelah dimulai dan semua container dalam instance harus responsif. Selama waktu startup ini, instance diberi alokasi CPU. Anda dapat mengaktifkan peningkatan CPU startup untuk meningkatkan alokasi CPU sementara selama startup instance guna mengurangi latensi pengaktifan.

Permintaan akan dikirim ke container masuk segera setelah memproses port yang dikonfigurasi.

Permintaan yang menunggu instance akan tetap tertunda dalam antrean sebagai berikut:

Permintaan akan ditunda hingga 3,5 kali waktu mulai rata-rata instance penampung layanan ini, atau 10 detik, mana saja yang lebih besar.

Anda dapat mengonfigurasi pemeriksaan startup untuk menentukan apakah container telah dimulai dan siap menyalurkan permintaan.

Untuk layanan Cloud Run yang terdiri dari instance multi-container, Anda dapat menentukan urutan dimulainya container dalam instance dengan mengonfigurasi urutan startup container.

Memproses permintaan

Untuk layanan Cloud Run, CPU selalu dialokasikan ke semua container, termasuk file bantuan dalam instance selama revisi Cloud Run memproses setidaknya satu permintaan.

Tidak ada aktivitas

Untuk layanan Cloud Run, instance yang tidak ada aktivitas adalah instance yang tidak memproses permintaan apa pun.

CPU yang dialokasikan ke semua container dalam instance yang tidak ada aktivitas bergantung pada setelan penagihan yang dikonfigurasi.

Kecuali jika instance harus dibiarkan tidak beraktivitas karena setelan konfigurasi jumlah minimum instance, maka instance tidak akan dibiarkan menganggur selama lebih dari 15 menit.

Nonaktif

Untuk layanan Cloud Run, instance yang tidak ada aktivitas dapat dihentikan kapan saja, termasuk instance yang tetap aktif karena jumlah minimum instance yang dikonfigurasi. Jika instance yang memproses permintaan perlu dinonaktifkan, permintaan yang sedang diproses akan diberi waktu untuk menyelesaikannya, dan permintaan masuk baru akan dirutekan ke instance lain. Dalam kasus yang jarang terjadi, Cloud Run mungkin memulai penonaktifan dan mengirim sinyal SIGTERM ke container yang masih memproses permintaan.

Sebelum mematikan instance, Cloud Run mengirimkan sinyal SIGTERM ke semua container dalam instance, yang menunjukkan dimulainya periode 10 detik sebelum penonaktifan yang sebenarnya terjadi. Pada saat itu Cloud Run mengirimkan permintaan sinyal SIGKILL. Selama periode ini, instance mendapatkan alokasi CPU dan akan dikenai biaya. Pada layanan yang menggunakan lingkungan eksekusi generasi pertama, jika instance tidak menangkap sinyal SIGTERM, instance akan segera dimatikan. Di layanan yang menggunakan lingkungan eksekusi generasi kedua, sebaiknya instal handler SIGTERM di container Anda untuk menerima peringatan saat Cloud Run akan mematikan instance.

Penghentian paksa

Jika satu atau beberapa container Cloud Run melebihi batas total memori container, maka instance akan dihentikan. Semua permintaan yang masih diproses di instance diakhiri dengan error HTTP 500.

Untuk tugas

Untuk tugas Cloud Run, instance container akan berjalan hingga instance container keluar, atau hingga waktu tunggu tugas tercapai, atau sampai container mengalami error.

Exit code

Anda dapat menggunakan kode keluar tugas untuk melihat apakah tugas berhasil diselesaikan atau apakah tugas mengalami error. Kode keluar adalah nilai numerik yang dipetakan ke penyelesaian yang berhasil atau jenis error tertentu.

Tabel berikut menentukan kode keluar umum dan definisinya:

Exit code Sinyal Deskripsi
0 Tugas berhasil diselesaikan.
4 SIGILL Tugas mencoba mengakses memori di alamat yang salah.
7 SIGBUS Tugas mencoba mengakses memori di luar batas yang dialokasikan.
9 SIGKILL Tugas dihentikan secara paksa, baik oleh tindakan pengguna atau intervensi manual.
11 SIGSEGV Tugas mencoba mengakses memori yang tidak sah.
15 SIGTERM Jika waktu tunggu tugas yang dikonfigurasi terlampaui, tugas akan menerima sinyal SIGTERM. Server aplikasi mengirimkan sinyal SIGTERM agar instance container dimatikan. Jika instance tidak dinonaktifkan sendiri dalam beberapa detik setelah menerima SIGTERM, Cloud Run akan mengirimkan sinyal SIGKILL untuk penghentian paksa. Jika instance keluar dengan benar dengan SIGTERM, instance tersebut mungkin melaporkan kode error yang berbeda; jika tidak, instance tersebut akan menampilkan SIGTERM.

Penghentian paksa

Instance container Cloud Run yang melebihi batas memori yang diizinkan akan dihentikan. Semua permintaan yang masih diproses pada instance container berakhir dengan error HTTP 500.

Jika tugas melebihi waktu tunggu tugas, Cloud Run akan mengirimkan sinyal 'SIGTERM' yang menunjukkan dimulainya periode 10 detik sebelum penonaktifan sebenarnya terjadi. Di sini Cloud Run mengirimkan sinyal SIGKILL, yang akan menonaktifkan instance container.

Selama periode ini, instance container mendapatkan alokasi CPU untuk seluruh siklus prosesnya dan dikenai biaya.

Baca contoh kode SIGTERM untuk mempelajari cara menangkap sinyal SIGTERM.

Untuk kumpulan pekerja

Karakteristik berikut hanya berlaku untuk gabungan worker.

Penskalaan

Kumpulan pekerja tidak diskalakan secara otomatis. Menskalakan secara manual jumlah instance yang diperlukan oleh worker pool Cloud Run untuk menangani beban kerjanya. Secara default, Cloud Run menetapkan jumlah instance ke 1. Anda dapat mengubah angka ini menjadi lebih tinggi atau lebih rendah, atau Anda dapat menonaktifkan penskalaan dengan menyetel angka menjadi 0. Agar dapat dimulai dan tetap aktif, beban kerja Anda harus memiliki setidaknya satu instance. Jika Anda menyetel instance minimum ke 0, instance pekerja tidak akan dimulai, meskipun deployment berhasil.

Memulai

Instance worker pool Cloud Run memulai container dengan entrypoint yang Anda tentukan dalam image container atau dalam konfigurasi worker pool. Semua penampung dalam instance harus responsif.

Secara default, instance container Cloud Run menggunakan satu CPU. Anda dapat menaikkan atau menurunkan nilai ini berdasarkan persyaratan Anda.

Anda dapat mengonfigurasi pemeriksaan startup untuk menentukan apakah container dimulai. Pemeriksaan startup memungkinkan Cloud Run memeriksa kondisi container dependen, sehingga memastikan container berhasil lulus sebelum memulai container berikutnya. Jika Anda tidak menggunakan health check, Cloud Run akan memulai container dalam urutan yang ditentukan, meskipun container yang menjadi dependensinya gagal dimulai.

Alokasi resource

Kumpulan pekerja tidak dalam kondisi tidak ada aktivitas. Terlepas dari statusnya, Cloud Run selalu mengalokasikan CPU ke semua container, termasuk file bantuan dalam instance kumpulan pekerja. Selama berjalan, instance dianggap aktif dan ditagih sesuai dengan itu.

Nonaktif

Cloud Run tidak menurunkan skala instance kumpulan pekerja berdasarkan instance yang tidak digunakan. Jika instance pemrosesan beban kerja harus dinonaktifkan, Cloud Run memberi waktu kepada tugas yang sedang diproses untuk menyelesaikan tugasnya dan merutekan beban kerja baru ke instance lain. Cloud Run juga dapat memulai penonaktifan dan mengirim sinyal SIGTERM ke container yang masih memproses beban kerja.

Sebelum mematikan instance, Cloud Run mengirimkan sinyal SIGTERM ke semua container dalam instance. Sinyal ini menunjukkan dimulainya periode 10 detik sebelum penonaktifan yang sebenarnya terjadi. Pada saat itu, Cloud Run mengirimkan sinyal SIGKILL. Selama periode penonaktifan ini, instance mendapatkan alokasi CPU dan akan dikenai biaya. Sebaiknya instal handler SIGTERM di penampung Anda untuk menerima peringatan saat Cloud Run akan menonaktifkan instance.

Penghentian paksa

Jika satu atau beberapa container Cloud Run melebihi batas total memori container, Cloud Run akan menghentikan instance. Semua permintaan yang masih diproses di instance diakhiri dengan error HTTP 500.

Resource instance container

Bagian berikut menjelaskan resource untuk instance penampung Anda:

CPU

Setiap container Cloud Run dalam instance secara default mendapatkan alokasi vCPU yang telah dikonfigurasi (1 secara default). Anda dapat mengonfigurasi batas CPU pada setiap container secara terpisah.

vCPU diimplementasikan sebagai abstraksi hardware dasar untuk memberikan perkiraan waktu CPU yang setara untuk hardware hyper-thread tunggal pada platform CPU variabel. Semua platform CPU yang digunakan oleh Cloud Run mendukung kumpulan petunjuk AVX2. Perhatikan bahwa kontrak container tidak berisi detail platform CPU tambahan.

Container mungkin dijalankan di beberapa core secara bersamaan.

Untuk layanan Cloud Run, alokasi CPU bergantung pada penagihan yang dipilih.

Jika Anda memilih penagihan berbasis instance, CPU akan dialokasikan selama masa aktif instance. Jika Anda memilih penagihan berbasis permintaan (default), CPU akan dialokasikan saat instance memproses permintaan. Lihat setelan penagihan untuk mengetahui detailnya.

Jika Anda telah mengonfigurasi sejumlah instance minimum, Anda harus menggunakan penagihan berbasis instance agar CPU dialokasikan di luar permintaan.

Anda dapat mengaktifkan peningkatan CPU startup untuk meningkatkan alokasi CPU untuk sementara waktu selama startup instance guna mengurangi latensi startup.

Memori

Setiap container Cloud Run secara default mendapatkan alokasi memori yang telah dikonfigurasi, (512 MiB secara default). Anda dapat mengonfigurasi batas memori pada setiap container secara terpisah.

Penggunaan umum memori meliputi:

  • Kode yang dimuat ke dalam memori untuk menjalankan layanan
  • Menulis ke sistem file
  • Proses tambahan yang berjalan dalam container seperti server nginx
  • Sistem caching dalam memori seperti OpCache PHP
  • Penggunaan memori per permintaan
  • Volume dalam memori bersama

GPU

Anda dapat mengonfigurasi container di instance Cloud Run untuk mengakses GPU. Jika layanan Cloud Run di-deploy dengan container pendamping, hanya satu container dalam deployment yang dapat mengakses GPU. Lihat Mengonfigurasi GPU untuk mengetahui persyaratan dan detailnya.

Library NVIDIA

Secara default, semua library driver NVIDIA L4 di-mount di bawah /usr/local/nvidia/lib64. Cloud Run secara otomatis menambahkan jalur ini ke variabel lingkungan LD_LIBRARY_PATH (yaitu ${LD_LIBRARY_PATH}:/usr/local/nvidia/lib64) dari container dengan GPU. Hal ini memungkinkan linker dinamis menemukan library driver NVIDIA. Linker menelusuri dan menyelesaikan jalur dalam urutan yang Anda cantumkan dalam variabel lingkungan LD_LIBRARY_PATH. Nilai yang Anda tentukan dalam variabel ini diprioritaskan daripada jalur library driver Cloud Run default /usr/local/nvidia/lib64.

Jika Anda ingin menggunakan versi CUDA yang lebih tinggi dari 12.2, cara termudah adalah dengan mengandalkan image dasar NVIDIA yang lebih baru dengan paket kompatibilitas ke depan yang sudah diinstal. Opsi lainnya adalah menginstal paket kompatibilitas ke depan NVIDIA secara manual dan menambahkannya ke LD_LIBRARY_PATH. Lihat matriks kompatibilitas NVIDIA untuk menentukan versi CUDA mana yang kompatibel ke depan dengan versi driver NVIDIA yang diberikan (535.216.03).

Konkurensi (layanan)

Untuk layanan Cloud Run, setiap instance Cloud Run secara default ditetapkan ke beberapa serentak, dengan container masuk dapat menerima lebih dari satu permintaan secara bersamaan. Anda dapat mengubahnya dengan menyetel konkurensi.

Sandbox container

Jika Anda menggunakan lingkungan eksekusi generasi pertama, container Cloud Run akan di-sandbox menggunakan sandbox runtime container gVisor. Seperti yang tercantum dalam referensi kompatibilitas syscall gVisor, beberapa panggilan sistem mungkin tidak didukung oleh sandbox container ini.

Jika Anda menggunakan lingkungan eksekusi generasi kedua, Anda memiliki kompatibilitas penuh dengan Linux. Tugas Cloud Run selalu menggunakan lingkungan eksekusi generasi kedua. Dalam lingkungan eksekusi generasi kedua, /sys/class/dmi/id/product_name disetel ke Google Compute Engine.

Lingkungan eksekusi generasi kedua menjalankan kode layanan Anda dalam namespace proses terpisah, sehingga dimulai sebagai proses init container yang memiliki semantik proses khusus. Di lingkungan eksekusi generasi pertama, kode layanan Anda tidak dijalankan sebagai proses init container.

Batas deskriptor file

Lingkungan generasi pertama dan kedua Cloud Run menetapkan batas jumlah deskriptor file yang dapat dibuka oleh proses hingga 25.000. Hal ini berlaku untuk penampung dan proses turunannya yang dibuatnya (fork). Ini adalah batas yang tidak bisa dilewati. Jika Anda melampaui batas, instance Anda mungkin kehabisan deskriptor file/soket.

Batas di lingkungan generasi kedua

Kecuali untuk batas deskriptor file yang dijelaskan sebelumnya, batas di lingkungan generasi kedua adalah batas Linux standar.

Misalnya, batas jumlah deskriptor file yang dapat dibuka (seperti yang tercantum dalam: /proc/sys/fs/file-max) menggunakan nilai default sekitar 10% memori. Lihat file-max dan file-nr dalam dokumentasi kernel untuk mengetahui detailnya.

Demikian pula, max_map_count (seperti yang tercantum dalam /proc/sys/vm/max_map_count), yang menetapkan jumlah area memori yang dapat dimiliki suatu proses, menggunakan nilai default 65535. Lihat max-map-count dalam dokumentasi kernel untuk mengetahui detailnya.

Container dengan hak istimewa dan biner setuid

Cloud Run tidak mendukung container istimewa. Oleh karena itu, Cloud Run tidak mendukung biner yang menggunakan flag setuid untuk pengguna non-root, seperti gcsfuse atau sudo, dan mungkin gagal karena izin yang tidak memadai.

Salah satu alternatifnya adalah menjalankan biner ini sebagai pengguna root, lalu menggunakan perintah su untuk beralih ke pengguna lain saat runtime.

Misalnya, di Dockerfile, hapus petunjuk USER, dan di skrip entrypoint, gunakan urutan berikut:

gcsfuse ...                 # Run gcsfuse as root
su myuser -c "/yourapp.sh"  # Switch to 'myuser' and run 'yourapp.sh'

Mengeksekusi pengguna

Jika nama pengguna tidak ada, Cloud Run akan menjalankan container sebagai pengguna root (uid=0).

Server metadata instance

Instance Cloud Run menampilkan server metadata yang dapat Anda gunakan untuk mengambil detail tentang container, seperti project ID, region, ID instance, atau akun layanan. Anda juga dapat menggunakan server metadata untuk membuat token untuk identitas layanan.

Untuk mengakses data server metadata, gunakan permintaan HTTP ke endpoint http://metadata.google.internal/ dengan header Metadata-Flavor: Google: library klien tidak diperlukan. Untuk mengetahui informasi selengkapnya, baca Mendapatkan metadata.

Tabel berikut mencantumkan beberapa informasi server metadata yang tersedia:

Jalur Deskripsi
/computeMetadata/v1/project/project-id Project ID untuk layanan atau tugas Cloud Run yang berada di dalamnya
/computeMetadata/v1/project/numeric-project-id Nomor project tempat layanan atau tugas Cloud Run berada
/computeMetadata/v1/instance/region Region layanan atau tugas Cloud Run ini, menampilkan projects/PROJECT-NUMBER/regions/REGION
/computeMetadata/v1/instance/id ID unik instance (juga tersedia di log).
/computeMetadata/v1/instance/service-accounts/default/email Email untuk identitas layanan dari layanan atau tugas Cloud Run ini.
/computeMetadata/v1/instance/service-accounts/default/token Membuat token akses OAuth2 untuk akun layanan dari layanan atau tugas Cloud Run ini. Agen layanan Cloud Run digunakan untuk mengambil token. Endpoint ini akan menampilkan respons JSON dengan atribut access_token. Baca selengkapnya tentang cara mengekstrak dan menggunakan token akses ini.

Perhatikan bahwa Cloud Run tidak memberikan detail tentang Google Cloud zona tempat instance dijalankan. Akibatnya, atribut metadata /computeMetadata/v1/instance/zone selalu menampilkan projects/PROJECT-NUMBER/zones/REGION-1.

Nama file

Nama file yang Anda gunakan dalam container harus kompatibel dengan UTF-8, baik UTF-8 atau yang dapat dikonversi otomatis secara aman ke UTF-8. Jika nama file Anda menggunakan encoding yang berbeda, jalankan build Docker di komputer dengan nama file yang kompatibel dengan UTF-8 dan hindari menyalin file ke container yang berisi nama UTF-8 yang tidak kompatibel.

Deployment container akan gagal jika nama file tidak kompatibel dengan UTF-8. Perhatikan bahwa tidak ada batasan encoding karakter yang Anda gunakan dalam file.

Waktu tunggu permintaan keluar

Untuk layanan dan tugas Cloud Run, ada waktu tunggu setelah 10 menit waktu tidak ada aktivitas untuk permintaan dari container Anda ke VPC. Untuk permintaan dari container ke internet, diberikan waktu tunggu setelah 20 menit tidak beraktivitas.

Koneksi keluar direset

Streaming koneksi dari container Anda ke VPC dan internet terkadang dapat dihentikan dan diganti ketika infrastruktur dasar dimulai ulang atau diperbarui. Jika aplikasi Anda menggunakan kembali koneksi yang memakan waktu lama, sebaiknya konfigurasikan aplikasi Anda agar menghubungkan koneksi kembali guna menghindari penggunaan ulang koneksi yang tidak aktif.