Tetap teratur dengan koleksi
Simpan dan kategorikan konten berdasarkan preferensi Anda.
Selama pengembangan, Anda dapat menjalankan dan menguji image container secara lokal sebelum men-deploy. Anda dapat menggunakan Cloud Code atau Docker yang diinstal secara lokal untuk menjalankan dan menguji secara lokal, termasuk berjalan secara lokal dengan akses ke layanan Google Cloud .
Berjalan di emulator penayangan Knative
Plugin Cloud Code untuk
VS Code dan JetBrains IDEs
memungkinkan Anda menjalankan dan men-debug image container secara lokal di emulator layanan
Knative dalam IDE Anda. Dengan emulator, Anda dapat mengonfigurasi lingkungan yang mewakili layanan Anda yang berjalan di penayangan Knative.
Anda dapat mengonfigurasi properti seperti CPU dan alokasi memori, menentukan variabel lingkungan, serta menetapkan koneksi database Cloud SQL
Ganti IMAGE_URL dengan referensi ke image container,
contohnya, gcr.io/cloudrun/hello.
Variabel lingkungan PORT menentukan port yang akan digunakan aplikasi Anda untuk memproses permintaan HTTP atau HTTPS Ini adalah persyaratan dari
Kontrak Runtime Container.
Dalam contoh ini, kita menggunakan port 8080.
Jika Anda baru mulai menggunakan container, sebaiknya Anda meninjau panduan Memulai Docker. Untuk mempelajari perintah Docker lebih lanjut, lihat panduan dokumentasi Docker.
Berjalan secara lokal menggunakan Docker dengan akses ke layanan Google Cloud
Jika Anda menggunakan library klien Google Cloud untuk mengintegrasikan aplikasi dengan layanan Google Cloud , dan belum mengamankan layanan tersebut untuk mengontrol akses eksternal, Anda dapat menyiapkan penampung lokal untuk melakukan autentikasi dengan layanan Google Cloudmenggunakan kunci akun layanan.
Untuk menjalankan secara lokal:
Lihat Kunci akun layanan
untuk mendapatkan bantuan terkait penyiapan kredensial Anda.
Berikut bagaimana menjalankan flag Docker tersebut untuk masuk ke kredensial dan konfigurasi dari sistem lokal Anda ke dalam container lokal:
Gunakan flag --volume (-v) untuk memasukkan file kredensial ke dalam container (dengan asumsi Anda telah menetapkan variabel lingkungan GOOGLE_APPLICATION_CREDENTIALS di mesin Anda):
yang ditampilkan dalam
contoh di atas adalah lokasi yang wajar untuk menempatkan kredensial Anda di dalam penampung.
Namun lokasi direktori lainnya juga dapat berfungsi. Persyaratan pentingnya
adalah variabel lingkungan GOOGLE_APPLICATION_CREDENTIALS harus
cocok dengan lokasi pemasangan binding di dalam container.
Perlu diperhatikan bahwa dengan beberapa layanan Google Cloud , Anda dapat menggunakan konfigurasi alternatif untuk mengisolasi pemecahan masalah lokal dari data dan performa produksi.
Langkah berikutnya
Untuk mempelajari cara men-deploy container yang telah dibuat, ikuti Men-deploy Layanan.
[[["Mudah dipahami","easyToUnderstand","thumb-up"],["Memecahkan masalah saya","solvedMyProblem","thumb-up"],["Lainnya","otherUp","thumb-up"]],[["Sulit dipahami","hardToUnderstand","thumb-down"],["Informasi atau kode contoh salah","incorrectInformationOrSampleCode","thumb-down"],["Informasi/contoh yang saya butuhkan tidak ada","missingTheInformationSamplesINeed","thumb-down"],["Masalah terjemahan","translationIssue","thumb-down"],["Lainnya","otherDown","thumb-down"]],["Terakhir diperbarui pada 2025-07-31 UTC."],[],[],null,["# Local testing\n\nDuring development, you can run and test your container image locally, prior\nto deploying. You can use [Cloud Code](/code) or\n[Docker installed locally](https://docs.docker.com/install/) to run and test\nlocally, including running locally with access to Google Cloud services.\n\nRunning in a Knative serving emulator\n-------------------------------------\n\nThe [Cloud Code](https://cloud.google.com/code) plugin for\n[VS Code](https://code.visualstudio.com/) and [JetBrains IDEs](https://www.jetbrains.com/)\nlets you locally run and debug your container image in a Knative serving\nemulator within your IDE. The emulator allows you configure an environment that is\nrepresentative of your service running on Knative serving.\n\nYou can configure properties like CPU and memory allocation,\nspecify environment variables, and set Cloud SQL\ndatabase connections.\n\n1. Install Cloud Code for [VS Code](/code/docs/vscode/install) or a [JetBrains IDE](/code/docs/intellij/install).\n2. Follow the instructions for locally developing and debugging within your IDE.\n - **VS Code** : Locally [developing](/code/docs/vscode/developing-a-cloud-run-app) and [debugging](/code/docs/vscode/debugging-a-cloud-run-app)\n - **IntelliJ** : Locally [developing](/code/docs/intellij/developing-a-cloud-run-app) and [debugging](/code/docs/intellij/debugging-a-cloud-run-app)\n\nRunning locally using Docker\n----------------------------\n\nTo test your container image locally using Docker:\n\n1. Use the Docker command:\n\n ```bash\n PORT=8080 && docker run -p 9090:${PORT} -e PORT=${PORT} IMAGE_URL\n ```\n\n Replace \u003cvar translate=\"no\"\u003eIMAGE_URL\u003c/var\u003e with a reference to the container image, for\n example, `gcr.io/cloudrun/hello`.\n\n The `PORT` environment variable specifies the port your application will\n use to listen for HTTP or HTTPS requests. This is a requirement from\n the [Container Runtime Contract](/kubernetes-engine/enterprise/knative-serving/docs/reference/container-contract).\n In this example, we use port 8080.\n2. Open \u003chttp://localhost:9090\u003e in your browser.\n\nIf you are new to working with containers, you may want to review the\n[Docker Getting Started](https://docs.docker.com/get-started/) guide. To learn\nmore about Docker commands, refer to the\n[Docker documentation](https://docs.docker.com/engine/reference/run/).\n\nRunning locally using Docker with access to Google Cloud services\n-----------------------------------------------------------------\n\nIf you are using Google Cloud client libraries to integrate your application\nwith Google Cloud services, and have not yet secured those services to control external\naccess, you can set up your local container to authenticate with Google Cloud\nservices using a service account key.\n| **Note:** Service account keys are a security risk if not managed correctly. You should [choose a more secure alternative to service account keys](/docs/authentication#auth-decision-tree) whenever possible. If you must authenticate with a service account key, you are responsible for the security of the private key and for other operations described by [Best practices for managing service account keys](/iam/docs/best-practices-for-managing-service-account-keys). If you are prevented from creating a service account key, service account key creation might be disabled for your organization. For more information, see [Managing secure-by-default organization resources](/resource-manager/docs/secure-by-default-organizations).\n|\n|\n| If you acquired the service account key from an external source, you must validate it before use.\n| For more information, see [Security requirements for externally sourced credentials](/docs/authentication/external/externally-sourced-credentials).\n\nTo run locally:\n\n1. Refer to [Service account key](/docs/authentication/set-up-adc-on-premises#wlif-key)\n for help with setting up your credentials.\n\n2. The following Docker run flags inject the credentials and configuration from\n your local system into the local container:\n\n 1. Use the `--volume` (`-v`) flag to inject the credential file into the container (assumes you have already set your `GOOGLE_APPLICATION_CREDENTIALS` environment variable on your machine): \n\n ```bash\n -v $GOOGLE_APPLICATION_CREDENTIALS:/tmp/keys/FILE_NAME.json:ro\n ```\n 2. Use the `--environment` (`-e`) flag to set the `GOOGLE_APPLICATION_CREDENTIALS` variable inside the container: \n\n ```bash\n -e GOOGLE_APPLICATION_CREDENTIALS=/tmp/keys/FILE_NAME.json\n ```\n3. Optionally, use this fully configured Docker `run` command:\n\n ```bash\n PORT=8080 && docker run \\\n -p 9090:${PORT} \\\n -e PORT=${PORT} \\\n -e K_SERVICE=dev \\\n -e K_CONFIGURATION=dev \\\n -e K_REVISION=dev-00001 \\\n -e GOOGLE_APPLICATION_CREDENTIALS=/tmp/keys/FILE_NAME.json \\\n -v $GOOGLE_APPLICATION_CREDENTIALS:/tmp/keys/FILE_NAME.json:ro \\\n IMAGE_URL\n ```\n\n Note that the path \n\n ```\n /tmp/keys/FILE_NAME.json\n ```\n shown in the example above is a reasonable location to place your credentials inside the container.\n\n \u003cbr /\u003e\n\n However, other directory locations will also work. The crucial requirement\n is that the `GOOGLE_APPLICATION_CREDENTIALS` environment variable must\n match the bind mount location inside the container.\n\n Note also, that with some Google Cloud services, you may want to use an alternate\n configuration to isolate local troubleshooting from production performance\n and data.\n\nWhat's next\n-----------\n\nTo learn how to deploy your built containers, follow [Deploying Services](/kubernetes-engine/enterprise/knative-serving/docs/deploying)."]]