從「docker 1.12.0」版本開始內建swarm;swarm是用於管理docker叢集的平台,採用go語言完成的開發,從「1.12.0」版本開始,「Docker Swarm」已經包含在Docker引擎中,並且已經內建了服務發現工具,因此不需要再配置Etcd或Consul來進行服務發現配置。
本教學操作環境:linux7.3系統、docker19.03版、Dell G3電腦。
docker哪個版本內建swarm
Swarm 是Docker 公司推出的用來管理docker 叢集的平台,幾乎全部用GO 語言來完成的開發的
Docker Swarm 和Docker Compose 一樣,都是Docker 官方容器編排項目,但不同的是,Docker Compose 是一個在單一伺服器或主機上建立多個容器的工具,而Docker Swarm 則可以在多個伺服器或主機上建立容器叢集服務,對於微服務的部署,顯然Docker Swarm 會更適合。
從Docker 1.12.0 版本開始,Docker Swarm 已經包含在Docker 引擎中(docker swarm),並且已經內建了服務發現工具,我們就不需要像之前一樣,再配置Etcd 或者Consul 來進行服務發現配置了。
上圖可以看出,Swarm 是典型的 master-slave 結構,透過發現服務來選舉 manager。 manager 是中心管理節點,各個node 上運行agent 接受manager 的統一管理,集群會自動通過Raft 協議分佈式選舉出manager 節點,無需額外的發現服務支持,避免了單點的瓶頸問題,同時也內置了DNS的負載平衡和對外部負載平衡機制的整合支援。
擴充知識
Docker Swarm 工作原理
1)Docker Engine client
docker service create:我們透過docker service create這個指令去創建一個服務。
2)swarm manager
API:這個請求直接由Swarm manager的API接收,接收指令並建立服務物件。
orchestrator:為服務建立一個任務。
allocater:為這個任務指派IP位址。
dispatcher:將任務指派到指定的節點。
scheduler:再該節點中下發指定指令。
3)worker node:接收manager任務後去執行這個任務
container:建立對應的容器。
worker:連接到調度程序以檢查分配的任務
executor:執行分配給工作節點的任務
Service:為一個副本,可以理解為是一個任務,一個任務是一個容器。
swarm manager:它將這個副本下發到三個可用的work節點。
container:實際的docker容器去運行應用程式。
task:work任務的名稱為service名稱後面跟著.1根據個數以此類推。
推薦學習:《docker影片教學》
以上是docker哪個版本內建swarm的詳細內容。更多資訊請關注PHP中文網其他相關文章!

Docker和Kubernetes是现代软件开发和部署的关键工具。Docker通过容器化简化应用打包和部署,Kubernetes则用于大规模容器编排和管理。使用Docker和Kubernetes可以显著提升应用的可扩展性和管理效率。

Docker利用Linux內核特性,提供高效、隔離的應用運行環境。其工作原理如下:1. 鏡像作為只讀模板,包含運行應用所需的一切;2. 聯合文件系統(UnionFS)層疊多個文件系統,只存儲差異部分,節省空間並加快速度;3. 守護進程管理鏡像和容器,客戶端用於交互;4. Namespaces和cgroups實現容器隔離和資源限制;5. 多種網絡模式支持容器互聯。理解這些核心概念,才能更好地利用Docker。

LXC是Docker的基礎,通過Linux內核的cgroups和namespaces實現資源和環境隔離。 1)資源隔離:cgroups限制CPU、內存等資源。 2)環境隔離:namespaces提供獨立的進程、網絡、文件系統視圖。

在Linux上使用Docker的最佳實踐包括:1.使用dockerrun命令創建和運行容器,2.利用DockerCompose管理多容器應用,3.定期清理未使用的鏡像和容器,4.採用多階段構建優化鏡像大小,5.限制容器資源使用提升安全性,6.遵循Dockerfile最佳實踐提高可讀性和維護性。這些實踐能幫助用戶高效使用Docker,避免常見問題並優化容器化應用。

在Linux上使用Docker可以提高開發和部署效率。 1.安裝Docker:使用腳本在Ubuntu上安裝Docker。 2.驗證安裝:運行sudodockerrunhello-world。 3.基本用法:創建Nginx容器dockerrun--namemy-nginx-p8080:80-dnginx。 4.高級用法:創建自定義鏡像,使用Dockerfile構建並運行。 5.優化與最佳實踐:使用多階段構建和DockerCompose,遵循編寫Dockerfile的最佳實踐。

Docker監控的核心在於收集和分析容器的運行數據,主要包括CPU使用率、內存使用、網絡流量和磁盤I/O等指標。通過使用Prometheus、Grafana和cAdvisor等工具,可以實現對容器的全面監控和性能優化。

DockerSwarm可用於構建可擴展和高可用性的容器集群。 1)初始化Swarm集群使用dockerswarminit。 2)加入Swarm集群使用dockerswarmjoin--token:。 3)創建服務使用dockerservicecreate--namemy-nginx--replicas3nginx。 4)部署複雜服務使用dockerstackdeploy-cdocker-compose.ymlmyapp。

如何利用Docker和Kubernetes進行企業應用的容器編排?通過以下步驟實現:創建Docker鏡像並推送到DockerHub。在Kubernetes中創建Deployment和Service以部署應用。使用Ingress管理外部訪問。應用性能優化和最佳實踐,如多階段構建和資源限制。


熱AI工具

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

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

Undress AI Tool
免費脫衣圖片

Clothoff.io
AI脫衣器

AI Hentai Generator
免費產生 AI 無盡。

熱門文章

熱工具

Dreamweaver Mac版
視覺化網頁開發工具

SublimeText3 英文版
推薦:為Win版本,支援程式碼提示!

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

Atom編輯器mac版下載
最受歡迎的的開源編輯器

SAP NetWeaver Server Adapter for Eclipse
將Eclipse與SAP NetWeaver應用伺服器整合。