首頁  >  文章  >  web前端  >  如何使用 Docker 和 Encore 將後端應用程式部署到 DigitalOcean

如何使用 Docker 和 Encore 將後端應用程式部署到 DigitalOcean

Barbara Streisand
Barbara Streisand原創
2024-10-24 03:59:02596瀏覽

How to deploy a backend application to DigitalOcean using Docker and Encore

?本指南向您展示如何使用新的 encore 建置命令(Encore 開源 CLI 的一部分)將 Encore 應用程式部署到 DigitalOcean。

如果您喜歡手動部署而不是 Encore 雲端平台提供的自動化功能,這會很方便。

即使手動部署,Encore 也可以透過提供建置和配置應用程式的工具來簡化流程。 ⚡️

現在讓我們看看如何使用 Docker 和 encore build 將 Encore 應用程式部署到 DigitalOcean 的應用程式平台。 ?

先決條件

  • DigitalOcean 帳戶:確保您擁有 DigitalOcean 帳戶。如果沒有,您可以在這裡註冊。
  • 已安裝 Docker:確保 Docker 已安裝在本機上。您可以從 Docker 網站下載。
  • Encore CLI:安裝 Encore CLI:
    • macOS:brew install encoredev/tap/encore
    • Linux:curl -L https://encore.dev/install.sh |巴什
    • Windows: iwr https://encore.dev/install.ps1 |艾克斯
  • DigitalOcean CLI(可選):您可以安裝 DigitalOcean CLI 以獲得更大的靈活性和自動化,但這對於本教程來說不是必需的。

第 1 步:建立 Encore 應用程式

  • 建立一個新的 Encore 應用程式

    • 如果您還沒有使用 Encore CLI 建立一個新的 Encore 應用程式。
    • 您可以使用以下命令來建立新應用程式:
    encore app create myapp
    
    • 選擇 Hello World 範本。
    • 按照提示建立應用程式。
  • 建置 Docker 映像:

    • 建置 Encore 應用程式以產生用於部署的 docker 映像:
    encore build docker myapp  
    

步驟 2:將 Docker 映像推送到容器註冊表

要將 Docker 映像部署到 DigitalOcean,您需要將其推送到容器註冊表。 DigitalOcean 支援
它自己的容器註冊表,但您也可以使用 DockerHub 或其他註冊表。以下是將映像推送到 DigitalOcean 的註冊表的方法:

  • 建立 DigitalOcean 容器註冊表:

    • 前往 DigitalOcean 控制面板並建立新的容器註冊表。
    • 按照說明進行設定。
  • 登入 DigitalOcean 的登錄

    使用 DigitalOcean 提供的登入指令,如下所示:

   doctl registry login

為此,您需要 DigitalOcean CLI,可以從 DigitalOcean CLI 文件安裝它。

  • 標記您的 Docker 映像: 標記您的圖像以匹配註冊表的 URL。
encore app create myapp
  • 將您的 Docker 映像推送到註冊表
encore build docker myapp  

步驟3:將Docker映像部署到DigitalOcean應用平台

  • 導航到應用程式平台
    前往 DigitalOcean 的應用程式平台。

  • 建立一個新應用程式

    • 點選「建立應用程式」
    • 選擇「DigitalOcean 容器登錄檔」 選項。
  • 選擇 Docker 映像來源:

    • 選擇您先前推播的圖片。
  • 設定應用程式設定

    • 設定擴充選項:配置容器數量、CPU 和記憶體設定。
    • 環境變數:新增您的應用程式可能需要的任何環境變數。
    • 選擇區域:選擇靠近您的使用者的區域以獲得更好的效能。
  • 部署應用程式

    • 點選「下一步」,檢查設置,然後點選「建立資源」
    • DigitalOcean 將負責配置基礎架構、拉取 Docker 映像並啟動應用程式。

第 4 步:監控和管理應用程式

  • 存取應用程式
    • 部署後,您將獲得一個公共 URL 來存取您的應用程式。
    • 測試應用程式以確保其按預期運行,例如
   doctl registry login
  • 查看日誌和指標:

    • 前往應用程式平台「運行時日誌」標籤查看日誌
    • 前往「洞察」標籤查看效能指標。
  • 管理擴充與部署設定:

    • 您可以變更應用程式配置,例如縮放設定、部署區域或環境變數。

第 5 步:將資料庫新增至您的應用程式

DigitalOcean 的應用程式平台提供託管資料庫,讓您可以輕鬆地將資料庫新增至您的應用程式。以下是如何為您的應用程式設定託管資料庫:

  • 導覽至 DigitalOcean 控制面板

    • 進入 DigitalOcean 控制面板。
    • 點選左側邊欄的「資料庫」
  • 建立新的資料庫叢集:

    • 點選「建立資料庫叢集」
    • 選擇PostgreSQL
    • 選擇資料庫版本資料中心區域叢集配置(例如,根據您的需求進行開發或生產設定)。
    • 為資料庫命名並根據需要配置其他設置,然後按一下「建立資料庫叢集」
  • 設定資料庫設定:

    • 建立資料庫後,前往資料庫儀表板的「連接詳細資料」標籤。
    • 複製連接字串或個人設定(主機、連接埠、使用者名稱、密碼、資料庫名稱)。您將需要這些詳細資訊來將您的應用程式連接到資料庫。
    • 下載CA證書
  • 建立資料庫

    • 使用DigitalOcean提供的連接字串連接到資料庫。
encore app create myapp
  • 建立資料庫
encore build docker myapp  
  • 在您的 Encore 應用程式中聲明一個資料庫
    • 開啟 Encore 應用的程式碼庫。
    • 將 mydb 資料庫新增至您的應用程式(Encore 資料庫文件)
   doctl registry login
  • 建立 Encore 基礎架構設定
    • 在 Encore 應用程式的根目錄中建立一個名為 infra.config.json 的檔案。
    • CA 憑證 和連線詳細資料加入檔案:
   docker tag myapp registry.digitalocean.com/YOUR_REGISTRY_NAME/myapp:latest
  • 設定環境變數(可選):

    • 前往 DigitalOcean 應用程式平台儀表板。
    • 選擇您的應用程式。
    • 「設定」部分中,前往「應用程式層級環境變數」
    • 將資料庫密碼新增為名為 DB_PASSWORD 的加密環境變數。
  • 建置並推送 Docker 映像:

    • 使用更新的配置來建立 Docker 映像。
encore app create myapp
  • 標記 Docker 映像並將其推送到 DigitalOcean 容器註冊表。
encore build docker myapp  
  • 測試資料庫連線
    • 在 DigitalOcean 上重新部署應用程式以套用變更。
    • 呼叫API測試資料庫連接
   doctl registry login

故障排除技巧

  • 部署失敗:檢查建置日誌是否有任何錯誤。確保 Docker 映像已正確標記並推送到註冊表。
  • 應用程式無法存取:驗證 Dockerfile 和應用程式平台配置中是否公開了正確的連接埠。
  • 資料庫連接問題:確保資料庫連接詳細資訊正確並且可以從應用程式存取資料庫。

結論

就是這樣!您已使用 Docker 成功將 Encore 應用程式部署到 DigitalOcean 的應用程式平台。 ?

您現在可以擴展您的應用程式、監控其效能並透過 DigitalOcean 儀表板輕鬆管理它。

?自己嘗試一下

  • 透過這些教學了解如何使用 Encore 建立應用程式。 ?
  • 尋找使用這些開源應用程式模板建立內容的靈感。 ?

總結

  • ⭐️ 透過在 GitHub 上加註 Encore 來支持此專案。
  • ?如果您有疑問或想要分享您的作品,請加入 Discord 上 Encore 社群的開發者聚會。

以上是如何使用 Docker 和 Encore 將後端應用程式部署到 DigitalOcean的詳細內容。更多資訊請關注PHP中文網其他相關文章!

陳述:
本文內容由網友自願投稿,版權歸原作者所有。本站不承擔相應的法律責任。如發現涉嫌抄襲或侵權的內容,請聯絡admin@php.cn