Dockerized化的分布式應用程序的本地集群:Docker Swarm
Swarm是一個Dockerized化的分布式應用程序的本地集群,它是在Machine所提供的功能的基礎上優化主機資源的利用率和容錯服務。具體來 說,Docker Swarm支持用戶創建可運行Docker Daemon的主機資源池,然后在資源池中運行Docker容器。Docker Swarm可以管理工作負載并維護集群狀態。
除了資源優化,Docker Swarm可以保證應用的高可用性和容錯性。Docker Swarm會不斷的檢查Docker Daemon所在主機的健康狀態。當某個主機不可用時,Swarm就會將容器遷移到新的主機上。
Docker Swarm的亮點之一是它可以在應用的生命周期內擴展,也就是說當應用從一個主機擴展到2個、20個或者200個的時候,用戶可以保證接口的一致性。
同樣,和Machine一樣,Swarm的架構是可插拔的,系統已經包含一個默認的調度器。其它的廠商可以實現自己的調度器。
使用示例:
# 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>
https://github.com/docker/swarmDocker
本文由用戶 jopen 自行上傳分享,僅供網友學習交流。所有權歸原作者,若您的權利被侵害,請聯系管理員。
轉載本站原創文章,請注明出處,并保留原始鏈接、圖片水印。
本站是一個以用戶分享為主的開源技術平臺,歡迎各類分享!