Membuat container

Penayangan Knative menerima image container yang dibuat dengan alat apa pun yang mampu membangun image container, asalkan alat 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 mem-build image Anda di Google Cloud:

  1. Buka folder yang berisi sumber dan Dockerfile Anda.

  2. Jalankan perintah:

    gcloud builds submit --tag IMAGE_URL

    Ganti IMAGE_URL dengan referensi ke image container, contohnya, gcr.io/cloudrun/hello.

Untuk mengetahui petunjuk Cloud Build yang mendetail, lihat Men-deploy ke penayangan Knative.

Untuk mengetahui tips terkait 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 Anda ke dalam image container ("containerizing") menggunakan Docker, Anda harus menyertakan Dockerfile bersama dengan sumber Anda. Petunjuk berikut menggunakan Container Registry sebagai registry image.

Untuk membangun image container menggunakan Docker:

  1. Buka folder yang berisi sumber Anda dan Dockerfile.

  2. Jalankan perintah:

    docker build . --tag IMAGE_URL

    Ganti IMAGE_URL dengan referensi ke image container, contohnya, gcr.io/cloudrun/hello.

  3. 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.

  4. 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 petunjuk file konfigurasi .dockerignore.

Membangun menggunakan Buildpack

Untuk mengetahui informasi lengkap tentang Buildpack, lihat situs Buildpack. Google menyediakan serangkaian Buildpack yang kompatibel dengan CNCF yang mem-build kode sumber ke dalam image container yang dirancang untuk berjalan di platform container Google Cloud, termasuk penyaluran Knative.

Platform berikut saat ini didukung:

  • Go
  • Node.js
  • Python
  • Java
  • .NET Core

Membangun dengan Buildpack menggunakan Cloud Build

Untuk mem-build dengan Buildpack:

  1. Buka folder yang berisi sumber Anda.

  2. Jalankan perintah:

    gcloud builds submit --pack image=IMAGE_URL

    Ganti IMAGE_URL dengan URL image container, misalnya, gcr.io/myproject/myservice.

  3. Tunggu hingga build selesai.

Membangun dengan Buildpack menggunakan command line pack

Untuk membangun menggunakan perintah pengemasan:

  1. Jika Anda belum melakukannya, instal Docker.

  2. 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.

  3. Jika Anda belum melakukannya, instal pack.

  4. Buka folder yang berisi sumber Anda.

  5. 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.

  6. Tunggu hingga pack selesai.

Untuk informasi selengkapnya, baca petunjuk di bagian Membangun Aplikasi.

Langkah selanjutnya

  • Untuk mempelajari lebih lanjut kontrak yang harus dipatuhi oleh container Anda agar dapat di-deploy ke layanan Knative, lihat Kontrak Penampung.

  • Untuk men-deploy container yang telah dibuat ke penayangan Knative, ikuti Men-deploy Layanan.

  • Untuk mengotomatiskan build dan deployment layanan penayangan Knative Anda menggunakan Pemicu Cloud Build, siapkan Deployment Berkelanjutan.