如何使用 Docker 和 Encore 將後端應用程式部署到 DigitalOcean
?本指南向您展示如何使用新的 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中文網其他相關文章!

熱AI工具

Undresser.AI Undress
人工智慧驅動的應用程序,用於創建逼真的裸體照片

AI Clothes Remover
用於從照片中去除衣服的線上人工智慧工具。

Undress AI Tool
免費脫衣圖片

Clothoff.io
AI脫衣器

Video Face Swap
使用我們完全免費的人工智慧換臉工具,輕鬆在任何影片中換臉!

熱門文章

熱工具

記事本++7.3.1
好用且免費的程式碼編輯器

SublimeText3漢化版
中文版,非常好用

禪工作室 13.0.1
強大的PHP整合開發環境

Dreamweaver CS6
視覺化網頁開發工具

SublimeText3 Mac版
神級程式碼編輯軟體(SublimeText3)

Python更適合初學者,學習曲線平緩,語法簡潔;JavaScript適合前端開發,學習曲線較陡,語法靈活。 1.Python語法直觀,適用於數據科學和後端開發。 2.JavaScript靈活,廣泛用於前端和服務器端編程。

JavaScript在Web開發中的主要用途包括客戶端交互、表單驗證和異步通信。 1)通過DOM操作實現動態內容更新和用戶交互;2)在用戶提交數據前進行客戶端驗證,提高用戶體驗;3)通過AJAX技術實現與服務器的無刷新通信。

JavaScript在現實世界中的應用包括前端和後端開發。 1)通過構建TODO列表應用展示前端應用,涉及DOM操作和事件處理。 2)通過Node.js和Express構建RESTfulAPI展示後端應用。

理解JavaScript引擎內部工作原理對開發者重要,因為它能幫助編寫更高效的代碼並理解性能瓶頸和優化策略。 1)引擎的工作流程包括解析、編譯和執行三個階段;2)執行過程中,引擎會進行動態優化,如內聯緩存和隱藏類;3)最佳實踐包括避免全局變量、優化循環、使用const和let,以及避免過度使用閉包。

Python和JavaScript在開發環境上的選擇都很重要。 1)Python的開發環境包括PyCharm、JupyterNotebook和Anaconda,適合數據科學和快速原型開發。 2)JavaScript的開發環境包括Node.js、VSCode和Webpack,適用於前端和後端開發。根據項目需求選擇合適的工具可以提高開發效率和項目成功率。

C和C 在JavaScript引擎中扮演了至关重要的角色,主要用于实现解释器和JIT编译器。1)C 用于解析JavaScript源码并生成抽象语法树。2)C 负责生成和执行字节码。3)C 实现JIT编译器,在运行时优化和编译热点代码,显著提高JavaScript的执行效率。

Python更適合數據科學和自動化,JavaScript更適合前端和全棧開發。 1.Python在數據科學和機器學習中表現出色,使用NumPy、Pandas等庫進行數據處理和建模。 2.Python在自動化和腳本編寫方面簡潔高效。 3.JavaScript在前端開發中不可或缺,用於構建動態網頁和單頁面應用。 4.JavaScript通過Node.js在後端開發中發揮作用,支持全棧開發。

JavaScript在網站、移動應用、桌面應用和服務器端編程中均有廣泛應用。 1)在網站開發中,JavaScript與HTML、CSS一起操作DOM,實現動態效果,並支持如jQuery、React等框架。 2)通過ReactNative和Ionic,JavaScript用於開發跨平台移動應用。 3)Electron框架使JavaScript能構建桌面應用。 4)Node.js讓JavaScript在服務器端運行,支持高並發請求。
