一開始使用 docker build 指令,根據前一天的 Dockerfile 來建置映像檔。這個過程會將所有的程式碼、Streamlit 依賴和 Python 環境打包到一個單一、獨立的映像檔中。
# 使用專案名稱和版本號標記映像檔
docker build -t travel-assistant:v1 .
映像檔建置完成後需要將它上傳到一個容器註冊表 (Container Registry),這樣雲端服務才能存取它。最常見的註冊表包括 Docker Hub 或 Google Cloud 的 Artifact Registry。
在推送之前,我們需要根據註冊表的要求重新標記映像檔,然後使用 docker push 指令將它上傳到雲端。這一步是將本地環境與雲端服務連接起來的關鍵。
# 標記映像檔,替換 your-registry 為你的目標
docker tag travel-assistant:v1 gcr.io/your-project-id/travel-assistant:v1
# 推送映像檔
docker push gcr.io/your-project-id/travel-assistant:v1
映像檔上傳完成,剩下的就是啟動 Cloud Run 服務。在 Cloud Run 控制台或使用 gcloud CLI,我們指定以下配置:
映像檔路徑:指向剛才推送的映像檔。
端口:確保 Cloud Run 知道容器監聽的端口。
環境變數:安全地傳遞你的 API 金鑰和其他配置。
服務啟動後,Cloud Run 會提供一個專屬的 URL。我們就可以在瀏覽器中開啟這個 URL,確認AI 導遊能夠正常存取,並測試 RAG、Function Calling 等所有功能是否運行順暢。