Before you begin
- Labs create a Google Cloud project and resources for a fixed time
- Labs have a time limit and no pause feature. If you end the lab, you'll have to restart from the beginning.
- On the top left of your screen, click Start lab to begin
您最近加入一間 IT 公司,擔任雲端環境開發人員,這間公司的主要雲端服務供應商 (CSP) 是 Google Cloud。您收到指示,要在雲端環境建構無伺服器的無狀態網頁應用程式,因此須採用 Google Cloud 提供的 Cloud Run 服務。需要考量的一些面向包括:
您在前一間公司使用過 AWS,知道 AWS Fargate 不需要伺服器即可佈建容器化環境。AWS Fargate 可處理發布、監控容器及調度資源的工作。開發人員因此能將心力集中在應用程式的程式碼上,輕鬆部署、管理容器化應用程式,並為應用程式調度資源。另外,AWS Fargate 可讓您為 Amazon Elastic Container Service (Amazon ECS) 或 Amazon Elastic Kubernetes Service (Amazon EKS) 部署容器。也就是說,開發人員能夠選取最符合需求的自動化調度管理選項。
下圖顯示以 AWS Fargate 為基礎的無伺服器容器化應用程式結構:
接著,您會學習如何在 Google Cloud 部署應用程式。
Cloud Run 是代管運算平台,能夠讓您執行可透過 HTTP 要求叫用的無狀態容器。Cloud Run 採用無伺服器技術,可為您省去所有基礎架構管理工作,讓您專心處理最重要的事:建構出色的應用程式。
Cloud Run 是以 Knative 打造而成,可讓您透過 Cloud Run 以全代管的方式執行容器,或是透過 Cloud Run on GKE 在您的 Google Kubernetes Engine 叢集中執行容器。
透過這個實驗室,您可以瞭解如何建立簡易容器化應用程式映像檔,並部署至 Cloud Run。
在本實驗室中,您將瞭解如何執行下列工作:
在每個研究室中,您都能在固定時間內免付費建立新的 Google Cloud 專案,並使用一組資源。
請透過無痕式視窗登入 Qwiklabs。
請記下研究室的存取時間 (例如 1:15:00),並確保自己能在時間限制內完成作業。
研究室不提供暫停功能。如有需要,您可以重新開始,但原先的進度恕無法保留。
準備就緒後,請按一下「Start lab」。
請記下研究室憑證 (使用者名稱和密碼),這組資訊將用於登入 Google Cloud 控制台。
按一下「Open Google Console」。
按一下「Use another account」,然後複製這個研究室的憑證,並貼入提示訊息。
如果使用其他憑證,系統會顯示錯誤或向您收取費用。
接受條款,然後略過資源復原頁面。
按一下「Start Lab」按鈕。如果研究室會產生費用,畫面中會出現選擇付款方式的彈出式視窗。左側面板會顯示必須在這個實驗室使用的臨時憑證。
複製使用者名稱,然後點選「Open Google Console」。接著,研究室會啟動相關資源並開啟另一個分頁,當中顯示「Choose an account」頁面。
點選「Choose an account」頁面中的「使用其他帳戶」,「Sign in」頁面隨即開啟。
貼上您在「連線詳細資訊」面板中複製的使用者名稱,然後複製並貼上密碼。
Cloud 控制台稍後會在這個分頁中開啟。
Google Cloud Shell 是搭載多項開發工具的虛擬機器,提供永久的 5 GB 主目錄,而且在 Google Cloud 中運作。
Google Cloud Shell 提供指令列存取權,方便您使用 Google Cloud 資源。
在 Cloud 控制台的右上方找到工具列,然後按一下「開啟 Cloud Shell」按鈕。
按一下「繼續」。
佈建並連線至環境的作業需要一些時間才能完成。連線建立完成即代表已通過驗證,而且專案已設為您的「PROJECT_ID」。示例如下:
gcloud 是 Google Cloud 的指令列工具,已預先安裝於 Cloud Shell,並支援 Tab 鍵完成功能。
輸出內容:
輸出內容示例:
輸出內容:
輸出內容示例:
下方的參考清單列出了幾個非常基本的 Linux 指令,這個研究室的操作說明或程式碼區塊可能會提及這些指令。
| 指令 --> | 動作 | . | 指令 --> | 動作 |
|---|---|---|---|---|
| mkdir (建立目錄) | 建立新的資料夾 | . | cd (變更目錄) | 將位置變更為其他資料夾 |
| ls (列出) | 列出目錄中的檔案和資料夾 | . | cat (串連) | 在不使用編輯器的情況下讀取檔案內容 |
| apt-get update | 更新套件管理工具程式庫 | . | ping | 向主機傳送信號來測試可連性 |
| mv (移動) | 移動檔案 | . | cp (複製) | 建立檔案副本 |
| pwd (顯示工作目錄) | 傳回目前的位置 | . | sudo (超級使用者權限) | 授予更高層級的管理員權限 |
在這項工作中,您將建構一個以 Express 為基礎的簡易型 Node.js 應用程式,用於回應 HTTP 要求。
helloworld 的新目錄,然後查看當中內容:接下來要建立及編輯檔案。您可以使用 vi、emac 或 nano 來編輯檔案,也能在 Cloud Shell 點選「開啟編輯器」按鈕,運用 Cloud Shell 程式碼編輯器來編輯檔案。
建立 package.json 檔案,並在當中新增下列內容:
最重要的是,上述檔案包含 start 指令碼,以及 Express 網頁應用程式框架的依附元件。
依序按下 Ctrl+X 鍵和 Y 鍵,儲存 package.json 檔案。
接著,在同一個目錄中建立 index.js 檔案,並將下列幾行內容複製到檔案中:
這段程式碼會建立基本的網路伺服器,藉此監聽 PORT 環境變數定義的通訊埠。應用程式現已就緒,您可以開始將應用程式容器化,並上傳至 Container Registry。
index.js 檔案。Dockerfile 的新檔案,並加入下列內容:依序按下 Ctrl+X 鍵和 Y 鍵,儲存 Dockerfile 檔案。
接著,從內含 Dockerfile 的目錄執行下列指令,運用 Cloud Build 建立容器映像檔。(請留意指令中的 $GOOGLE_CLOUD_PROJECT 環境變數,內含這個實驗室的專案 ID):
Cloud Build 是在 Google Cloud Platform 執行建構作業的服務。只需一個指令,這項服務就會在 Docker 容器中執行一系列的建構步驟、產生應用程式容器 (或其他構件),並推送至 Artifact Registry。
容器推送到 Artifact Registry 後,您會看到包含映像檔名稱 (gcr.io/[PROJECT-ID]/helloworld) 的「SUCCESS」(成功) 訊息。映像檔會儲存於 Artifact Registry,日後可以視需求重複使用。
docker 指令,透過 Cloud Shell 在本機執行及測試應用程式:此動作應會開啟瀏覽器視窗,並在其中顯示「Hello World!」的訊息。您也能直接執行 curl localhost:8080 指令。
docker 指令無法提取遠端的容器映像檔,請執行下列指令:gcloud auth configure-docker
上述指令中的 allow-unauthenticated 旗標會將您的服務設為可公開存取。
service name 時,請按下 Enter 鍵。稍候片刻,等待部署作業完成。
部署成功之後,指令列會顯示服務網址:
您現在可以在任何瀏覽器視窗開啟服務網址,查看已部署的容器。
恭喜!您已將一個封裝在容器映像檔中的應用程式部署到 Cloud Run。Cloud Run 會自動水平擴充您的容器映像檔,以處理收到的要求,然後在需求減少時縮減規模。在您自己的環境中,您只需為處理要求期間使用的 CPU、記憶體和網路支付費用。
在本實驗室中,您是使用 gcloud 指令列執行各項操作。您也可以透過 Cloud 控制台使用 Cloud Run。
helloworld 服務:不使用服務時,Cloud Run 不會收費,但您可能仍須針對已建構的容器映像檔,支付儲存費用。
helloworld 映像檔:系統提示您繼續操作時,請輸入 Y 並按下 Enter 鍵。
執行下列指令,刪除 Cloud Run 中的服務:
Y 並按下 Enter 鍵。您已完成這個實驗室中的所有工作!
Google Cloud Run 和 AWS Fargate 都是無伺服器運算服務,可讓開發人員執行容器化應用程式,不僅具備成本效益,也能輕鬆擴充。不過,這兩項服務有些許不同。
以下說明關鍵的異同之處。
相似處:
差異:
如果您已完成研究室,請按一下「End Lab」(關閉研究室)。Google Cloud Skills Boost 會移除您使用的資源,並清除所用帳戶。
您可以針對研究室的使用體驗評分。請選取合適的星級評等並提供意見,然後按一下「Submit」(提交)。
星級評等代表您的滿意程度:
如果不想提供意見回饋,您可以直接關閉對話方塊。
如有任何想法、建議或指教,請透過「Support」(支援) 分頁提交。
Copyright 2026 Google LLC 保留所有權利。Google 和 Google 標誌是 Google LLC 的商標,其他公司和產品名稱則有可能是其關聯公司的商標。
This content is not currently available
We will notify you via email when it becomes available
Great!
We will contact you via email if it becomes available
One lab at a time
Confirm to end all existing labs and start this one
Complete this quick step to start your lab.