本機測試

開發期間,您可以先在本機執行並測試容器映像檔,然後再進行部署。您可以使用 Cloud Code安裝在本機的 Docker,在本機進行測試並執行,包括在本機執行具備 Google Cloud 服務存取權的 Docker。

在 Knative serving 模擬器中執行

VS CodeJetBrains IDECloud Code 外掛程式可讓您在本機 IDE 的 Knative 服務模擬器中,執行及偵錯容器映像檔。您可以使用模擬器設定環境,代表在 Knative 服務上執行的服務。

您可以設定 CPU 和記憶體配置等屬性、指定環境變數,以及設定 Cloud SQL 資料庫連線。

  1. 安裝 VS CodeJetBrains IDE 的 Cloud Code。
  2. 按照 IDE 中的指示,在本機開發及偵錯。

使用 Docker 在本機執行

如要使用 Docker 測試您的容器映像檔:

  1. 使用 Docker 指令:

    PORT=8080 && docker run -p 9090:${PORT} -e PORT=${PORT} IMAGE_URL

    IMAGE_URL 替換為容器映像檔的參照,例如 gcr.io/cloudrun/hello

    PORT 環境變數會指定應用程式將使用的通訊埠,以聽取 HTTP 或 HTTPS 要求。這是容器執行階段合約的要求。在本範例中,我們使用通訊埠 8080。

  2. 在瀏覽器中開啟 http://localhost:9090

如果您不熟悉容器,建議先參閱「開始使用 Docker」指南。如要進一步瞭解 Docker 指令,請參閱 Docker 說明文件

使用具備 Google Cloud 服務存取權的 Docker 在本機執行

如果您使用 Google Cloud 用戶端程式庫整合使用 Google Cloud 服務的應用程式,並且並未保護這些服務的安全以控制外部存取權,便可設定本機容器,透過使用服務帳戶金鑰的 Google Cloud服務進行驗證。

如要在本機執行:

  1. 如需設定憑證的相關說明,請參閱「服務帳戶金鑰」。

  2. 下列 Docker 執行標記會將本機系統的憑證和設定植入本機容器:

    1. 如果您已在機器上設定 GOOGLE_APPLICATION_CREDENTIALS 環境變數,請使用 --volume (-v) 標記,將憑證檔案植入容器:
      -v $GOOGLE_APPLICATION_CREDENTIALS:/tmp/keys/FILE_NAME.json:ro
    2. 使用 --environment (-e) 標記在容器內設定 GOOGLE_APPLICATION_CREDENTIALS 變數:
      -e GOOGLE_APPLICATION_CREDENTIALS=/tmp/keys/FILE_NAME.json
  3. 或者,使用這個完整設定的 Docker run 指令:

    PORT=8080 && docker run \
    -p 9090:${PORT} \
    -e PORT=${PORT} \
    -e K_SERVICE=dev \
    -e K_CONFIGURATION=dev \
    -e K_REVISION=dev-00001 \
    -e GOOGLE_APPLICATION_CREDENTIALS=/tmp/keys/FILE_NAME.json \
    -v $GOOGLE_APPLICATION_CREDENTIALS:/tmp/keys/FILE_NAME.json:ro \
    IMAGE_URL

    請注意,路徑

    上述範例中顯示的
    /tmp/keys/FILE_NAME.json
    ,是容器內放置憑證的合理位置。

    不過也可以放到其他目錄位置。重點是 GOOGLE_APPLICATION_CREDENTIALS 環境變數必須與容器內的繫結掛接位置相符。

    此外還要注意,針對部分 Google Cloud 服務,您可能想要使用不同的設定,將本機的疑難排解與實際工作環境效能和資料做出區隔。

後續步驟

如要瞭解如何部署已建構的容器,請參照部署服務