Docker入门(四)

集群

在第3部分中,您使用了在第2部分中编写的应用程序,并通过将其转换为服务来定义它应该如何在生产环境中运行,并在此过程中将其扩展5倍。
在第4部分中,您将该应用程序部署到集群中,并在多台机器上运行它。多容器、多机器的应用程序可以通过将多台机器连接到一个称为群的“Dockerized”集群中来实现。

理解集群

集群是一组运行Docker并加入到集群中的机器。在此之后,您将继续运行您习惯的Docker命令,但是现在它们由群集管理器在集群上执行。集群中的机器可以是物理的,也可以是虚拟的。加入一个群之后,它们被称为节点。

群管理器可以使用几种策略来运行容器,比如“清空节点”——用容器填充利用率最低的机器。或“全局”,它确保每台机器只获得指定容器的一个实例。您指示集群管理器在撰写文件中使用这些策略,就像您已经使用的策略一样。

群管理器是群中唯一能够执行您的命令的机器,或者授权其他机器作为工人加入群。工人只是在那里提供生产能力,没有权力告诉其他机器它能做什么和不能做什么。

到目前为止,您一直在本地机器上以单主机模式使用Docker。但是Docker也可以切换到群集模式,这就是启用群集的原因。启用群集模式将立即使当前机器成为群集管理器。从那时起,Docker将运行您在正在管理的集群上执行的命令,而不仅仅是在当前机器上。

建立你的集群

集群由多个节点组成,可以是物理节点,也可以是虚拟节点。其基本概念非常简单:运行 docker swarm init 以启用群集模式,并使您当前的机器成为一个群集管理器,然后在其他机器上运行docker swarm join,让它们作为worker加入到群集中。选择下面的选项卡,查看在各种上下文中这是如何进行的。我们使用vm快速创建一个双机集群,并将其变为一个集群。

创建一个集群

MAC, LINUX, WINDOWS 7 AND 8
您需要一个可以创建虚拟机(vm)的管理程序,因此请为您的机器的操作系统安装Oracle VirtualBox。

注意:如果您使用的是安装了Hyper-V的Windows系统,比如Windows 10,则不需要安装VirtualBox,而应该使用Hyper-V。通过单击上面的Hyper-V选项卡查看Hyper-V系统的说明。如果您正在使用Docker工具箱,那么您应该已经安装了VirtualBox作为它的一部分,所以可以开始了。

现在,使用docker-machine,使用VirtualBox驱动程序创建几个vm:

docker-machine create --driver virtualbox myvm1
docker-machine create --driver virtualbox myvm2

WINDOWS 10
首先,快速创建虚拟机(vm)共享的虚拟交换机,以便它们能够彼此连接。

  1. 启动hyper - v 管理器
  2. 单击右侧菜单中的Virtual Switch Manager
  3. 单击创建外部类型的虚拟交换机
  4. 将其命名为myswitch,并选中“共享主机的活动网络适配器”复选框
    现在,使用我们的节点管理工具docker-machine创建几个vm:

注意:您需要以管理员身份运行以下命令,否则您没有创建hyperv vm的权限!

docker-machine create -d hyperv --hyperv-virtual-switch "myswitch" myvm1
docker-machine create -d hyperv --hyperv-virtual-switch "myswitch" myvm2

列出虚拟机并获取它们的IP地址

©著作权归作者所有,转载或内容合作请联系作者
平台声明:文章内容(如有图片或视频亦包括在内)由作者上传并发布,文章内容仅代表作者本人观点,简书系信息发布平台,仅提供信息存储服务。

推荐阅读更多精彩内容

  • 注意 以下内容完全摘自Docker官方文档,仅为学习及技术分享所用,切勿用于商业用途,转载请注明出处。 以下为正文...
    爱迪生玛玛阅读 636评论 0 1
  • 了解Swarm集群 Swarm集群是一组运行Docker并加入集群的计算机。但现在它们由集群管理器控制在集群上执行...
    MicoCube阅读 831评论 0 0
  • 这是Docker文档的第四部分的翻译,原文请点击这里 必要条件 安装Docker1.13版本或者更高的版本 在第3...
    _我和你一样阅读 411评论 0 0
  • 回来时,雨又落 羽裳来不及收拾 翅膀上都被淋湿 寒暑几许 竟与你 在这深巷里重遇 想跟了你去 逶迤如山如水 鬓里藏...
    腾格里沙阅读 323评论 0 0
  • (1)走出受害者心态。受害者心态就是接收到他人言语、眼神、肢体的负面信息时,如鄙视、嘲讽、同情、辱骂、示威、批评、...
    晨星大海阅读 387评论 0 0