Docker Swarm分布式應(yīng)用程序的本地集群
Docker Swarm 是一個 Dockerized 化的分布式應(yīng)用程序的本地集群,它是在Machine所提供的功能的基礎(chǔ)上優(yōu)化主機(jī)資源的利用率和容錯服務(wù)。具體來說,Docker Swarm支持用戶創(chuàng)建可運(yùn)行Docker Daemon的主機(jī)資源池,然后在資源池中運(yùn)行Docker容器。Docker Swarm可以管理工作負(fù)載并維護(hù)集群狀態(tài)。
除了資源優(yōu)化,Docker Swarm可以保證應(yīng)用的高可用性和容錯性。Docker Swarm會不斷的檢查Docker Daemon所在主機(jī)的健康狀態(tài)。當(dāng)某個主機(jī)不可用時(shí),Swarm就會將容器遷移到新的主機(jī)上。
Docker Swarm的亮點(diǎn)之一是它可以在應(yīng)用的生命周期內(nèi)擴(kuò)展,也就是說當(dāng)應(yīng)用從一個主機(jī)擴(kuò)展到2個、20個或者200個的時(shí)候,用戶可以保證接口的一致性。
同樣,和Machine一樣,Swarm的架構(gòu)是可插拔的,系統(tǒng)已經(jīng)包含一個默認(rèn)的調(diào)度器。其它的廠商可以實(shí)現(xiàn)自己的調(diào)度器。
使用示例:
# create a cluster $ docker run --rm swarm create 6856663cdefdec325839a4b7e1de38e8 # <- this is your unique <cluster_id> # on each of your nodes, start the swarm agent # <node_ip> doesn't have to be public (eg. 192.168.0.X), # as long as the swarm manager can access it. $ docker run -d swarm join --addr=<node_ip:2375> token://<cluster_id> # start the manager on any machine or your laptop $ docker run -d -p <swarm_port>:2375 swarm manage token://<cluster_id> # use the regular docker cli $ docker -H tcp://<swarm_ip:swarm_port> info $ docker -H tcp://<swarm_ip:swarm_port> run ... $ docker -H tcp://<swarm_ip:swarm_port> ps $ docker -H tcp://<swarm_ip:swarm_port> logs ... ... # list nodes in your cluster $ docker run --rm swarm list token://<cluster_id> <node_ip:2375>
介紹內(nèi)容來自 DockerOne
評論
圖片
表情
