JelinaOS 內建完整的容器執行環境(Docker),但容器應用程式的部署遵循統一原則:透過釋出(Release)體系管理,而不是直接在裝置上手工執行容器。正式環境的容器應用程式,建議全部走釋出流程——定義、部署、守護、更新、回復,全鏈路可控。
部署流程(推薦)
Section titled “部署流程(推薦)”建置並推送映像 → 在釋出中宣告容器應用程式 → 部署到裝置 → 裝置代理程式拉取並執行第一步:準備映像
Section titled “第一步:準備映像”將應用建置為容器映像,並推送到映像儲存庫(企業私有儲存庫或公共儲存庫):
docker build -t registry.example.com/myapp:1.0.0 .docker push registry.example.com/myapp:1.0.0第二步:在釋出中宣告
Section titled “第二步:在釋出中宣告”在 JelinaCloud 建立釋出,新增容器應用程式:
- 指定映像位址與版本標籤(建議使用明確的版本,避免意外升級);
- 設定環境變數、埠映射、資料卷;
- 設定重新啟動策略(推薦
always)與資源限制。
第三步:部署
Section titled “第三步:部署”將釋出部署到目標艦隊或裝置,裝置代理程式自動完成:
- 拉取映像並建立容器;
- 按設定注入環境變數、映射埠、掛載資料卷;
- 啟動容器並持續守護(異常自動重新啟動、裝置重新啟動自動復原)。
容器檔案系統在容器重建後會丟失,需要持久化的資料請掛載到資料分割區:
- 在釋出中為應用宣告資料卷,或掛載裝置資料分割區目錄;
- 資料獨立於容器生命週期,升級、重建不影響。
裝置上的 Docker 命令用於檢視與診斷,不用於部署管理:
docker ps # 檢視容器執行狀態docker logs <容器名> # 檢視容器記錄docker events # 跟蹤容器事件(診斷用)生產實踐要點
Section titled “生產實踐要點”- 固定版本:釋出中使用明確的映像版本標籤;
- 健康檢查:為服務設定健康檢查,配合重新啟動策略實現自動復原;
- 資源限制:為容器設定記憶體與 CPU 上限,避免影響裝置整體;
- 私有儲存庫:企業環境使用私有映像儲存庫,映像分發由裝置代理程式統一完成;
- 升級與回復:透過釋出新版本實現升級,透過重新指定原版本實現回復——均由雲端編排。
可以直接在裝置上 docker run 部署應用嗎? 技術上可行,但不推薦:直接執行的應用不在釋出體系中,無法獲得統一的守護、更新與回復能力。正式環境請透過釋出部署。
容器異常退出會怎樣?
釋出中設定了 restart: always 的應用,異常退出後由裝置代理程式自動重新啟動。
- 應用程式管理 — 釋出體系總覽
- 容器編排(Compose) — 多容器應用程式的組合編排
- 雲端應用程式部署與 OTA — 釋出與更新流程