Membuat Container

Cloud Run menerima image container yang dibangun 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 Cloud Run ke dalam container Anda.

Halaman ini menjelaskan beberapa cara untuk membangun image container:

  • Menggunakan Dockerfile
  • Menggunakan buildpack Google Cloud

Sebelum memulai

Membangun menggunakan Dockerfile

Sebelum membangun sumber Anda ke dalam image container ("containerizing") secara lokal menggunakan Docker atau Cloud Build, Anda harus menyertakan Dockerfile bersama dengan sumber Anda. Contoh Hello World berisi aplikasi sampel dan Dockerfile dalam banyak bahasa populer.

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

Anda dapat membangun image Anda pada Google Cloud dengan menggunakan Cloud Build:

  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, misalnya, us-docker.pkg.dev/cloudrun/container/hello:latest. Jika Anda menggunakan Artifact Registry, repositori REPO_NAME harus sudah dibuat. URL berbentuk LOCATION-docker.pkg.dev/PROJECT_ID/REPO_NAME/PATH:TAG.

Untuk mengetahui tips terkait cara meningkatkan performa membangun, lihat Mempercepat build Anda

Membangun secara lokal dan mengirim menggunakan Docker

Jika Docker sudah terinstal secara lokal, Anda dapat menggunakan docker build daripada menggunakan Cloud Build atau buildpack Google Cloud.

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, misalnya, us-docker.pkg.dev/cloudrun/container/hello:latest. Jika Anda menggunakan Artifact Registry, repositori REPO_NAME harus sudah dibuat. URL memiliki bentuk LOCATION-docker.pkg.dev/PROJECT_ID/REPO_NAME/PATH:TAG .

    Perlu diketahui bahwa jika menggunakan Mac dengan Apple silicon, Anda harus menentukan --platform linux/amd64 di baris perintah.

  3. Kirim image container ke container registry yang didukung:

    docker push IMAGE_URL

    Ganti IMAGE_URL dengan referensi ke image container, misalnya, us-docker.pkg.dev/cloudrun/container/hello:latest. Jika Anda menggunakan Artifact Registry, repositori REPO_NAME harus sudah dibuat. URL memiliki bentuk LOCATION-docker.pkg.dev/PROJECT_ID/REPO_NAME/PATH:TAG .

Untuk mengecualikan file lokal dari proses ini, ikuti File konfigurasi .dockerignore petunjuk.

Membangun menggunakan buildpack Google Cloud

Buildpack Google Cloud adalah sekumpulan Buildpack yang kompatibel dengan CNCF yang membangun kode sumber ke dalam image container yang dirancang untuk berjalan pada platform container Google Cloud, termasuk Cloud Run.

Untuk mengetahui daftar bahasa yang didukung, lihat dokumentasi buildpack Google Cloud

Membangun dengan buildpack Google Cloud menggunakan Cloud Build

Untuk membangun dengan buildpack Google Cloud:

  1. Buka folder yang berisi sumber Anda.

  2. Jalankan perintah:

    gcloud builds submit --pack image=IMAGE_URL

    Ganti IMAGE_URL dengan referensi ke image container, misalnya, us-docker.pkg.dev/cloudrun/container/hello:latest. Jika Anda menggunakan Artifact Registry, repositori REPO_NAME harus sudah dibuat. URL memiliki bentuk LOCATION-docker.pkg.dev/PROJECT_ID/REPO_NAME/PATH:TAG .

  3. Tunggu hingga build selesai.

Membangun dengan buildpack Google Cloud menggunakan command line pack

Untuk membangun menggunakan perintah pengemasan:

  1. Jika Anda belum melakukannya, instal Docker.

  2. Jika Anda belum melakukannya, instal pack.

  3. Buka folder yang berisi sumber Anda.

  4. Jalankan perintah berikut untuk mem-build dan mengirim ke container registry yang didukung:

    pack build --publish IMAGE_URL

    Ganti IMAGE_URL dengan referensi ke image container, contohnya, us-docker.pkg.dev/cloudrun/container/hello:latest. Jika Anda menggunakan Artifact Registry, repositori REPO_NAME harus sudah dibuat. URL berbentuk LOCATION-docker.pkg.dev/PROJECT_ID/REPO_NAME/PATH:TAG.

  5. Tunggu hingga pack selesai.

Untuk informasi selengkapnya, baca petunjuk di bagian Membangun Aplikasi.

Langkah berikutnya