Penyajian Knative menerima image container yang dibuat dengan alat apa pun yang mampu
untuk membangun image container, selama image tersebut mematuhi kontrak container.
Secara khusus, kode Anda harus memproses permintaan HTTP pada port yang ditentukan oleh
variabel lingkungan PORT
. Variabel lingkungan PORT
ini
secara otomatis dimasukkan oleh penayangan Knative ke dalam container Anda.
Halaman ini menjelaskan beberapa cara untuk membangun image container:
- Menggunakan Dockerfile
- Menggunakan Buildpacks
Membangun menggunakan Dockerfile
Jika Anda menggunakan Dockerfile, Anda dapat menggunakan salah satu metode berikut untuk membangun:
- Membangun menggunakan Cloud Build
- Membangun secara lokal menggunakan Docker
Membangun menggunakan Cloud Build
Untuk membangun image di Google Cloud:
Buka folder yang berisi sumber dan Dockerfile Anda.
Jalankan perintah:
gcloud builds submit --tag IMAGE_URL
Ganti IMAGE_URL dengan referensi ke image container, contohnya,
gcr.io/cloudrun/hello
.
Untuk petunjuk Cloud Build yang mendetail, lihat Men-deploy ke inferensi Knative.
Untuk mendapatkan tips tentang cara meningkatkan performa build, lihat Mempercepat Build
Membangun secara lokal dan mengirim menggunakan Docker
Jika Anda memiliki Docker yang terinstal secara lokal, Anda
dapat menggunakan docker build
,
daripada menggunakan Cloud Build atau Buildpack.
Sebelum mem-build sumber ke dalam image container ("containerization") menggunakan Docker, Anda memerlukan Harus ada Dockerfile di sepanjang sumber Anda. Petunjuk berikut menggunakan Container Registry sebagai image.
Untuk membangun image container menggunakan Docker:
Buka folder yang berisi sumber Anda dan
Dockerfile
.Jalankan perintah:
docker build . --tag IMAGE_URL
Ganti IMAGE_URL dengan referensi ke image container, contohnya,
gcr.io/cloudrun/hello
.Jika Anda belum mengonfigurasi Docker agar menggunakan Google Cloud CLI untuk mengautentikasi permintaan ke Container Registry, lakukan sekarang menggunakan perintah:
gcloud auth configure-docker
Anda harus melakukan ini sebelum Anda dapat mengirim atau mengambil image menggunakan Docker. Anda hanya perlu melakukannya sekali.
Kirim image container ke Container Registry:
docker push IMAGE_URL
Ganti IMAGE_URL dengan referensi ke image container, contohnya,
gcr.io/cloudrun/hello
.
Untuk mengecualikan file lokal dari proses ini, ikuti
File konfigurasi .dockerignore
petunjuk.
Membangun aplikasi menggunakan Buildpacks
Untuk informasi selengkapnya tentang Buildpacks, lihat Buildpacks. Google menyediakan serangkaian Buildpack yang kompatibel dengan CNCF yang membangun kode sumber ke dalam image container yang didesain untuk menjalankan di platform container Google Cloud, termasuk inferensi Knative.
Platform berikut saat ini didukung:
- Go
- Node.js
- Python
- Java
- .NET Core
Membangun dengan Buildpacks menggunakan Cloud Build
Untuk membangun dengan Buildpack:
Buka folder yang berisi sumber Anda.
Jalankan perintah:
gcloud builds submit --pack image=IMAGE_URL
Ganti IMAGE_URL dengan URL image container, misalnya,
gcr.io/myproject/myservice
.Tunggu hingga build selesai.
Membangun aplikasi dengan Buildpack menggunakan command line pack
Untuk membangun menggunakan perintah pengemasan:
Jika Anda belum melakukannya, instal Docker.
Jika Anda belum mengonfigurasi Docker agar menggunakan Google Cloud CLI untuk mengautentikasi permintaan ke Container Registry, lakukan sekarang menggunakan perintah:
gcloud auth configure-docker
Anda harus melakukan ini sebelum Anda dapat mengirim atau mengambil image menggunakan Docker. Anda hanya perlu melakukannya sekali.
Jika Anda belum melakukannya, instal
pack
.Buka folder yang berisi sumber Anda.
Jalankan perintah berikut untuk membangun dan mengirim ke container registry Anda:
pack build --publish IMAGE_URL
Ganti IMAGE_URL dengan referensi ke image container, contohnya,
gcr.io/cloudrun/hello
.Tunggu hingga
pack
selesai.
Untuk informasi selengkapnya, baca petunjuk di bagian Membangun Aplikasi.
Langkah selanjutnya
Untuk mempelajari kontrak lebih lanjut, container Anda harus dipatuhi agar dapat di-deploy ke penyaluran Knative, lihat Kontrak Penampung.
Untuk men-deploy container yang telah dibangun ke inferensi Knative, ikuti Men-deploy Layanan.
Untuk mengotomatiskan proses build dan deployment penayangan Knative Anda layanan Cloud Build menggunakan Pemicu Cloud Build, siapkan Deployment Berkelanjutan.