Dockerized化的分布式應用程序的本地集群:Docker Swarm

jopen 9年前發布 | 18K 次閱讀 Docker 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的架構是可插拔的,系統已經包含一個默認的調度器。其它的廠商可以實現自己的調度器。

Dockerized化的分布式應用程序的本地集群:Docker 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 自行上傳分享,僅供網友學習交流。所有權歸原作者,若您的權利被侵害,請聯系管理員。
 轉載本站原創文章,請注明出處,并保留原始鏈接、圖片水印。
 本站是一個以用戶分享為主的開源技術平臺,歡迎各類分享!