首頁 > 運維 > Docker > 主體

docker中stack是什麼意思

WBOY
發布: 2021-12-30 11:24:18
原創
2829 人瀏覽過

在docker中,stack的意思是“堆疊式服務”,是一組可以被編排並具備擴展能力的關聯service服務,用於多服務部署和應用管理,在compose檔案中定義應用,透過「docker stack deploy」指令完成部署和管理。

docker中stack是什麼意思

本教學操作環境:linux7.3系統、docker-1.13.1版、Dell G3電腦。

docker中stack是什麼意思

#大規模場景下的多服務部署和管理是一件很難的事情。

幸運的是,Docker Stack 為解決該問題而生,Docker Stack 透過提供期望狀態、滾動升級、簡單易用、擴縮容、健康檢查等特性簡化了應用程式的管理,這些功能都封裝在一個完美的聲明式模型當中。

在筆記本上測試和部署簡單應用程式很容易。但這只能算業餘選手。在真實的生產環境進行多服務的應用部署和管理,這才是專業選手的水平。

幸運的是,Stack 正為此而生! Stack 能夠在單一聲明檔案中定義複雜的多服務應用程式。 Stack 也提供了簡單的方式來部署應用並管理其完整的生命週期:初始化部署 -> 健康檢查 -> 擴容 -> 更新 -> 回滾,以及其他功能!

步驟很簡單。在 Compose 檔案中定義應用,然後透過 docker stack deploy 指令完成部署和管理。

Compose 檔案中包含了構成應用程式所需的完整服務堆疊。此外還包括了磁碟區、網路、安全性以及應用程式所需的其他基礎架構。然後基於該檔案使用 docker stack deploy 命令來部署應用程式。

Stack 是基於 Docker Swarm 之上來完成應用的部署。因此諸如安全等高級特性,其實都是來自 Swarm。

簡而言之,Docker 適用於開發和測試。 Docker Stack 則適用於大規模場景和生產環境。

如果了解 Docker Compose,就會發現 Docker Stack 非常簡單。事實上在許多方面,Stack 一直是期望的 Compose——完全整合到 Docker 中,並能夠管理應用程式的整個生命週期。

從架構上來講,Stack 位於 Docker 應用層級的最頂端。 Stack 是基於服務進行構建,而服務又基於容器,如下圖所示。

docker中stack是什麼意思

在後續的講解中會一直使用範例來應用 AtSea Shop。此範例託管在 Github 的 dockersamples/atsea-sample-shop-app 庫中,基於 Apache 2.0 許可證開源。

使用該應用程式是因為其複雜度適中,不會因為太複雜而難以完整解釋。除此之外,該應用還是個多服務應用,並且利用了認證和安全相關的技術。應用架構如下圖所示。

docker中stack是什麼意思

推薦學習:《docker影片教學

以上是docker中stack是什麼意思的詳細內容。更多資訊請關注PHP中文網其他相關文章!

相關標籤:
來源:php.cn
本網站聲明
本文內容由網友自願投稿,版權歸原作者所有。本站不承擔相應的法律責任。如發現涉嫌抄襲或侵權的內容,請聯絡admin@php.cn
熱門教學
更多>
最新下載
更多>
網站特效
網站源碼
網站素材
前端模板