如何使用Docker Machine部署Swarm集群

大家好,今天我们来研究一下如何使用Docker Machine部署Swarm集群。Docker Machine提供了标准的Docker API 支持,所以任何可以与Docker守护进程进行交互的工具都可以使用Swarm来(透明地)扩增到多台主机上。Docker Machine可以用来在个人电脑、云端以及的数据中心里创建Docker主机。它为创建服务器,安装Docker以及根据用户设定来配置Docker客户端提供了便捷化的解决方案。我们可以使用任何驱动来部署swarm集群,并且swarm集群将由于使用了TLS加密具有极好的安全性。

下面是我提供的简便方法。

如何使用Docker Machine部署Swarm集群

1. 安装Docker Machine

Docker Machine 在各种Linux系统上都支持的很好。首先,我们需要从Github上下载最新版本的Docker Machine。我们使用curl命令来下载最先版本Docker Machine ie 0.2.0。

64位操作系统:

  1. <span class="com"># curl -L https://github.com/docker/machine/releases/download/v0.2.0/docker-machine_linux-amd64 > /usr/local/bin/docker-machine</span>

32位操作系统:

  1. <span class="com"># curl -L https://github.com/docker/machine/releases/download/v0.2.0/docker-machine_linux-i386 > /usr/local/bin/docker-machine</span>

下载了最先版本的Docker Machine之后,我们需要对 /usr/local/bin/ 目录下的docker-machine文件的权限进行修改。命令如下:

  1. <span class="com"># chmod +x /usr/local/bin/docker-machine</span>

在做完上面的事情以后,我们要确保docker-machine已经安装正确。怎么检查呢?运行docker-machine -v指令,该指令将会给出我们系统上所安装的docker-machine版本。

  1. <span class="com"># docker-machine -v</span>

如何使用Docker Machine部署Swarm集群

Installing Docker Machine

为了让Docker命令能够在我们的机器上运行,必须还要在机器上安装Docker客户端。命令如下。

  1. <span class="com"># curl -L https://get.docker.com/builds/linux/x86_64/docker-latest > /usr/local/bin/docker</span>
  2. <span class="com"># chmod +x /usr/local/bin/docker</span>

2. 创建Machine

在将Docker Machine安装到我们的设备上之后,我们需要使用Docker Machine创建一个machine。在这篇文章中,我们会将其部署在Digital Ocean Platform上。所以我们将使用“digitalocean”作为它的Driver API,然后将docker swarm运行在其中。这个Droplet会被设置为Swarm主控节点,我们还要创建另外一个Droplet,并将其设定为Swarm节点代理。

创建machine的命令如下:

  1. <span class="com"># docker-machine create --driver digitalocean --digitalocean-access-token <API-Token> linux-dev</span>

备注: 假设我们要创建一个名为“linux-dev”的machine。是用户在Digital Ocean Cloud Platform的Digital Ocean控制面板中生成的密钥。为了获取这个密钥,我们需要登录我们的Digital Ocean控制面板,然后点击API选项,之后点击Generate New Token,起个名字,然后在Read和Write两个选项上打钩。之后我们将得到一个很长的十六进制密钥,这个就是了。用其替换上面那条命令中的API-Token字段。

现在,运行下面的指令,将Machine 的配置变量加载进shell里。

  1. <span class="com"># eval "$(docker-machine env linux-dev)"</span>

如何使用Docker Machine部署Swarm集群

Docker Machine Digitalocean Cloud

然后,我们使用如下命令将我们的machine标记为ACTIVE状态。

  1. <span class="com"># docker-machine active linux-dev</span>

现在,我们检查它(指machine)是否被标记为了 ACTIVE "*"。

  1. <span class="com"># docker-machine ls</span>

如何使用Docker Machine部署Swarm集群

Docker Machine Active List

相关推荐