共计 6548 个字符,预计需要花费 17 分钟才能阅读完成。
大家好,今天我们来研究一下如何使用 Docker Machine 部署 Swarm 集群。Docker Machine 提供了标准的 Docker API 支持,所以任何可以与 Docker 守护进程进行交互的工具都可以使用 Swarm 来(透明地)扩增到多台主机上。Docker Machine 可以用来在个人电脑、云端以及的数据中心里创建 Docker 主机。它为创建服务器,安装 Docker 以及根据用户设定来配置 Docker 客户端提供了便捷化的解决方案。我们可以使用任何驱动来部署 swarm 集群,并且 swarm 集群将由于使用了 TLS 加密具有极好的安全性。
下面是我提供的简便方法。
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 位操作系统:
# curl -L https://github.com/docker/machine/releases/download/v0.2.0/docker-machine_linux-amd64 > /usr/local/bin/docker-machine
32 位操作系统:
# 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 文件的权限进行修改。命令如下:
# chmod +x /usr/local/bin/docker-machine
在做完上面的事情以后,我们要确保 docker-machine 已经安装正确。怎么检查呢?运行 docker-machine -v
指令,该指令将会给出我们系统上所安装的 docker-machine 版本。
# docker-machine -v
Installing Docker Machine
为了让 Docker 命令能够在我们的机器上运行,必须还要在机器上安装 Docker 客户端。命令如下。
# curl -L https://get.docker.com/builds/linux/x86_64/docker-latest > /usr/local/bin/docker
# 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 的命令如下:
# 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 里。
# eval "$(docker-machine env linux-dev)"
Docker Machine Digitalocean Cloud
然后,我们使用如下命令将我们的 machine 标记为 ACTIVE 状态。
# docker-machine active linux-dev
现在,我们检查它(指 machine)是否被标记为了 ACTIVE “*”。
# docker-machine ls
Docker Machine Active List
更多详情见请继续阅读下一页的精彩内容:http://www.linuxidc.com/Linux/2015-08/121017p2.htm
3. 运行 Swarm Docker 镜像
现在,在我们创建完成了 machine 之后。我们需要将 swarm docker 镜像部署上去。这个 machine 将会运行这个 docker 镜像,并且控制 Swarm 主控节点和从节点。使用下面的指令运行镜像:
# docker run swarm create
Docker Machine Swarm Create
如果你想要在 32 位操作系统 上运行 swarm docker 镜像。你需要 SSH 登录到 Droplet 当中。
# docker-machine ssh
# docker run swarm create
# exit
4. 创建 Swarm 主控节点
在我们的 swarm image 已经运行在 machine 当中之后,我们将要创建一个 Swarm 主控节点。使用下面的语句,添加一个主控节点。
# docker-machine create \
-d digitalocean \
--digitalocean-access-token <DIGITALOCEAN-TOKEN>
--swarm \
--swarm-master \
--swarm-discovery token://<CLUSTER-ID> \
swarm-master
Docker Machine Swarm Master Create
5. 创建 Swarm 从节点
现在,我们将要创建一个 swarm 从节点,此节点将与 Swarm 主控节点相连接。下面的指令将创建一个新的名为 swarm-node 的 droplet,其与 Swarm 主控节点相连。到此,我们就拥有了一个两节点的 swarm 集群了。
# docker-machine create \
-d digitalocean \
--digitalocean-access-token <DIGITALOCEAN-TOKEN>
--swarm \
--swarm-discovery token://<TOKEN-FROM-ABOVE> \
swarm-node
Docker Machine Swarm Nodes
6. 与 Swarm 主控节点连接
现在,我们连接 Swarm 主控节点以便我们可以依照需求和配置文件在节点间部署 Docker 容器。运行下列命令将 Swarm 主控节点的 Machine 配置文件加载到环境当中。
# eval "$(docker-machine env --swarm swarm-master)"
然后,我们就可以跨节点地运行我们所需的容器了。在这里,我们还要检查一下是否一切正常。所以,运行 docker info 命令来检查 Swarm 集群的信息。
# 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 加密具有极好的安全性。
下面是我提供的简便方法。
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 位操作系统:
# curl -L https://github.com/docker/machine/releases/download/v0.2.0/docker-machine_linux-amd64 > /usr/local/bin/docker-machine
32 位操作系统:
# 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 文件的权限进行修改。命令如下:
# chmod +x /usr/local/bin/docker-machine
在做完上面的事情以后,我们要确保 docker-machine 已经安装正确。怎么检查呢?运行 docker-machine -v
指令,该指令将会给出我们系统上所安装的 docker-machine 版本。
# docker-machine -v
Installing Docker Machine
为了让 Docker 命令能够在我们的机器上运行,必须还要在机器上安装 Docker 客户端。命令如下。
# curl -L https://get.docker.com/builds/linux/x86_64/docker-latest > /usr/local/bin/docker
# 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 的命令如下:
# 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 里。
# eval "$(docker-machine env linux-dev)"
Docker Machine Digitalocean Cloud
然后,我们使用如下命令将我们的 machine 标记为 ACTIVE 状态。
# docker-machine active linux-dev
现在,我们检查它(指 machine)是否被标记为了 ACTIVE “*”。
# docker-machine ls
Docker Machine Active List
更多详情见请继续阅读下一页的精彩内容:http://www.linuxidc.com/Linux/2015-08/121017p2.htm