阿里云-云小站(无限量代金券发放中)
【腾讯云】云服务器、云数据库、COS、CDN、短信等热卖云产品特惠抢购

如何使用Docker Machine部署Swarm集群

182次阅读
没有评论

共计 6548 个字符,预计需要花费 17 分钟才能阅读完成。

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

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

如何使用 Docker Machine 部署 Swarm 集群

Ubuntu 15.04 下安装 Docker  http://www.linuxidc.com/Linux/2015-07/120444.htm

配置 Docker 镜像下载的本地 mirror 服务  http://www.linuxidc.com/Linux/2015-07/120061.htm

Docker 安装应用(CentOS 6.5_x64) http://www.linuxidc.com/Linux/2014-07/104595.htm 

在 Docker 中使用 MySQL http://www.linuxidc.com/Linux/2014-01/95354.htm

在 Ubuntu Trusty 14.04 (LTS) (64-bit)安装 Docker http://www.linuxidc.com/Linux/2014-10/108184.htm 

Docker 安装应用(CentOS 6.5_x64) http://www.linuxidc.com/Linux/2014-07/104595.htm 

Ubuntu 14.04 安装 Docker  http://www.linuxidc.com/linux/2014-08/105656.htm 

阿里云 CentOS 6.5 模板上安装 Docker http://www.linuxidc.com/Linux/2014-11/109107.htm 

1. 安装 Docker Machine

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

64 位操作系统:

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

32 位操作系统:

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

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

  1. # chmod +x /usr/local/bin/docker-machine

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

  1. # docker-machine -v

如何使用 Docker Machine 部署 Swarm 集群

Installing Docker Machine

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

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

2. 创建 Machine

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

创建 machine 的命令如下:

  1. # docker-machine create --driver digitalocean --digitalocean-access-token <API-Token> linux-dev

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

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

  1. # eval "$(docker-machine env linux-dev)"

如何使用 Docker Machine 部署 Swarm 集群

Docker Machine Digitalocean Cloud

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

  1. # docker-machine active linux-dev

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

  1. # docker-machine ls

如何使用 Docker Machine 部署 Swarm 集群

Docker Machine Active List

更多详情见请继续阅读下一页的精彩内容:http://www.linuxidc.com/Linux/2015-08/121017p2.htm

3. 运行 Swarm Docker 镜像

现在,在我们创建完成了 machine 之后。我们需要将 swarm docker 镜像部署上去。这个 machine 将会运行这个 docker 镜像,并且控制 Swarm 主控节点和从节点。使用下面的指令运行镜像:

  1. # docker run swarm create

如何使用 Docker Machine 部署 Swarm 集群

Docker Machine Swarm Create

如果你想要在 32 位操作系统 上运行 swarm docker 镜像。你需要 SSH 登录到 Droplet 当中。

  1. # docker-machine ssh
  2. # docker run swarm create
  3. # exit

 

4. 创建 Swarm 主控节点

在我们的 swarm image 已经运行在 machine 当中之后,我们将要创建一个 Swarm 主控节点。使用下面的语句,添加一个主控节点。

  1. # docker-machine create \
  2. -d digitalocean \
  3. --digitalocean-access-token <DIGITALOCEAN-TOKEN>
  4. --swarm \
  5. --swarm-master \
  6. --swarm-discovery token://<CLUSTER-ID> \
  7. swarm-master

如何使用 Docker Machine 部署 Swarm 集群

Docker Machine Swarm Master Create

 

5. 创建 Swarm 从节点

现在,我们将要创建一个 swarm 从节点,此节点将与 Swarm 主控节点相连接。下面的指令将创建一个新的名为 swarm-node 的 droplet,其与 Swarm 主控节点相连。到此,我们就拥有了一个两节点的 swarm 集群了。

  1. # docker-machine create \
  2. -d digitalocean \
  3. --digitalocean-access-token <DIGITALOCEAN-TOKEN>
  4. --swarm \
  5. --swarm-discovery token://<TOKEN-FROM-ABOVE> \
  6. swarm-node

如何使用 Docker Machine 部署 Swarm 集群

Docker Machine Swarm Nodes

 

6. 与 Swarm 主控节点连接

现在,我们连接 Swarm 主控节点以便我们可以依照需求和配置文件在节点间部署 Docker 容器。运行下列命令将 Swarm 主控节点的 Machine 配置文件加载到环境当中。

  1. # eval "$(docker-machine env --swarm swarm-master)"

然后,我们就可以跨节点地运行我们所需的容器了。在这里,我们还要检查一下是否一切正常。所以,运行 docker info 命令来检查 Swarm 集群的信息。

  1. # docker info

 

总结

我们可以用 Docker Machine 轻而易举地创建 Swarm 集群。这种方法有非常高的效率,因为它极大地减少了系统管理员和用户的时间消耗。在这篇文章中,我们以 Digital Ocean 作为驱动,通过创建一个主控节点和一个从节点成功地部署了集群。其他类似的驱动还有 VirtualBox,Google Cloud Computing,Amazon Web Service,Microsoft Azure 等等。这些连接都是通过 TLS 进行加密的,具有很高的安全性。如果你有任何的疑问,建议,反馈,欢迎在下面的评论框中注明以便我们可以更好地提高文章的质量!

Docker 的详细介绍:请点这里
Docker 的下载地址:请点这里


via: http://linoxide.com/linux-how-to/provision-swarm-clusters-using-docker-machine/

作者:Arun Pyasi 译者:DongShuaike 校对:wxy

本文由 LCTT 原创翻译,Linux 中国 荣誉推出

本文永久更新链接地址:http://www.linuxidc.com/Linux/2015-08/121017.htm

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

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

如何使用 Docker Machine 部署 Swarm 集群

Ubuntu 15.04 下安装 Docker  http://www.linuxidc.com/Linux/2015-07/120444.htm

配置 Docker 镜像下载的本地 mirror 服务  http://www.linuxidc.com/Linux/2015-07/120061.htm

Docker 安装应用(CentOS 6.5_x64) http://www.linuxidc.com/Linux/2014-07/104595.htm 

在 Docker 中使用 MySQL http://www.linuxidc.com/Linux/2014-01/95354.htm

在 Ubuntu Trusty 14.04 (LTS) (64-bit)安装 Docker http://www.linuxidc.com/Linux/2014-10/108184.htm 

Docker 安装应用(CentOS 6.5_x64) http://www.linuxidc.com/Linux/2014-07/104595.htm 

Ubuntu 14.04 安装 Docker  http://www.linuxidc.com/linux/2014-08/105656.htm 

阿里云 CentOS 6.5 模板上安装 Docker http://www.linuxidc.com/Linux/2014-11/109107.htm 

1. 安装 Docker Machine

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

64 位操作系统:

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

32 位操作系统:

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

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

  1. # chmod +x /usr/local/bin/docker-machine

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

  1. # docker-machine -v

如何使用 Docker Machine 部署 Swarm 集群

Installing Docker Machine

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

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

2. 创建 Machine

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

创建 machine 的命令如下:

  1. # docker-machine create --driver digitalocean --digitalocean-access-token <API-Token> linux-dev

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

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

  1. # eval "$(docker-machine env linux-dev)"

如何使用 Docker Machine 部署 Swarm 集群

Docker Machine Digitalocean Cloud

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

  1. # docker-machine active linux-dev

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

  1. # docker-machine ls

如何使用 Docker Machine 部署 Swarm 集群

Docker Machine Active List

更多详情见请继续阅读下一页的精彩内容:http://www.linuxidc.com/Linux/2015-08/121017p2.htm

正文完
星哥说事-微信公众号
post-qrcode
 0
星锅
版权声明:本站原创文章,由 星锅 于2022-01-20发表,共计6548字。
转载说明:除特殊说明外本站文章皆由CC-4.0协议发布,转载请注明出处。
【腾讯云】推广者专属福利,新客户无门槛领取总价值高达2860元代金券,每种代金券限量500张,先到先得。
阿里云-最新活动爆款每日限量供应
评论(没有评论)
验证码
【腾讯云】云服务器、云数据库、COS、CDN、短信等云产品特惠热卖中