对于集群服务器来讲,要在每台机器上手动安装Docker是一件及其痛苦的事情,还好有Docker Machine这一工具,Docker三剑客中的一角.

一、Docker Machine介绍

  这个工具已经出了比较久了,Docker Machine官方介绍:https://docs.docker.com/v1.13/machine/overview/ ,按我的理解就是一个控制系的高手操作着地下一批人,犹如该图,面对不同的服务器,云、虚拟机、本地主机等。通过Docker Machine进行批量安装。

  

二、服务器环境介绍

  当前服务器版本CentOS7.2 64bit,Docker版本1.13.1,Docker Machine版本0.10.0。

  服务器列表:

    Master:182.61.xxx.218  -- A

    Slave:106.12.xxx.4 --B

    Slave:118.126.xxx.29 --C

    Slave:123.207.xxx.233 --D

  将通过服务器A完成在B、C和D上完成Docker环境的安装

三、完成Docker Machine搭建:

  首先我们在A服务器上安装Docker环境,安装过程可见:https://www.cnblogs.com/CKExp/p/8159269.html,在此直接开始Docker Machine的安装。

  在服务器A上开始安装Docker Machine,输入以下命令从docker仓库中下载下来,并完成权限配置,注意我这里下载的版本是0.10.0,如果需要更高的版本呢下载可以选择其它版本下载

 $ curl -L https://github.com/docker/machine/releases/download/v0.10.0/docker-machine-$(uname -s)-$(uname -m) >/tmp/docker-machine &&
chmod +x /tmp/docker-machine &&
sudo cp /tmp/docker-machine /usr/local/bin/docker-machine

  搭建成功,查看服务器版本:

docker-machine -v

  

四、用docker Machine配置子节点安装Docker engine

  首先我们首先得保证两个服务器的正常通讯,因此先生成密钥对,保证免交互登录。

  创建密钥对(在A主机操作),输入命令并一直回车

# ssh-keygen  

  拷贝公钥到B、C和D主机上,过程中需要确认连接、输入密码(直接登录目标主机的密码)等操作,正常进行即可。

# ssh-copy-id root@106.12.xxx.4

  然后通过该命令连接是否可以正常登录到目标主机

# ssh root@106.12.xxx.

  接下来,可以依次将docker环境安装到各子节点上,通过docker-machine提供的命令create及其各种附带指定, -d命令指定了引用的驱动类型,我这全是Linux下服务器,直接用generic即可,如果是其它类型,可以看一下官网提供的驱动类型。

# docker-machine create -d generic --generic-ip-address=106.12.xxx.4 --generic-ssh-user=root host3

  指定目标服务器命名为host3,当登录该服务器后,名称也变为了host3。

  

  加入成功,查看当前节点信息

# docker-machine ls

  

  至此,三台子节点服务器的Docker,环境安装完毕。

  接下来开始搭建swarm集群,完成服务的分发。

  本文地址:https://www.cnblogs.com/CKExp/p/9552272.html

  欢迎关注微信订阅号,有新的文章将同步到订阅号中

  

2018-09-01,望技术有成后能回来看见自己的脚步

Docker Machine搭建并加入节点的更多相关文章

  1. Docker Swarm搭建多服务器下Docker集群

    对于有多台服务器来讲,如果每一台都去手动操控,那将会是一件非常浪费时间的事情,毕竟时间这东西,于我们而言,十分宝贵,或许在开始搭建环境的时候耗费点时间,感觉是正常的,我也如此,花费大堆时间在采坑和填坑 ...

  2. Istio入门实战与架构原理——使用Docker Compose搭建Service Mesh

    本文将介绍如何使用Docker Compose搭建Istio.Istio号称支持多种平台(不仅仅Kubernetes).然而,官网上非基于Kubernetes的教程仿佛不是亲儿子,写得非常随便,不仅缺 ...

  3. docker swarm 搭建与服务更新

    一,docker swarm 是什么 Docker Swarm.Docker Machine与Docker Compose号称Docker三剑客Docker Swarm 和 Docker Compos ...

  4. docker——三剑客之Docker Machine

    Docker Machine是Docker官方三剑客项目之一,负责使用Docker的第一步,在多种平台上快速安装Docker环境.它支持多种平台,让用户在很短时间内搭建一套Docker主机集群. Ma ...

  5. 使用Docker Compose搭建Service Mesh

    使用Docker Compose搭建Service Mesh 本文将介绍如何使用Docker Compose搭建Istio.Istio号称支持多种平台(不仅仅Kubernetes).然而,官网上非基于 ...

  6. DOCKER 学习笔记7 Docker Machine 在阿里云实例化ECS 以及本地Windows 实例化虚拟机实战

    前言 通过以上6小节的学习,已经可以使用DOCKER 熟练的部署应用程序了.大家都可以发现使用 DOCKER 带来的方便之处,因为现在的话,只是在一台服务器上部署,这样部署,我们只需要一条命令,需要的 ...

  7. DOCKER 学习笔记7 Docker Machine 建立虚拟机实战,以及错误总结

    前言 通过以上6小节的学习,已经可以使用DOCKER 熟练的部署应用程序了.大家都可以发现使用 DOCKER 带来的方便之处,因为现在的话,只是在一台服务器上部署,这样部署,我们只需要一条命令,需要的 ...

  8. 容器技术之Docker Machine

    前文我们聊了下docker容器的资源限制,回顾请参考https://www.cnblogs.com/qiuhom-1874/p/13138725.html:今天我们来聊一聊docker machine ...

  9. 用 Docker Machine 创建 Azure 虚拟主机

    搭建环境向来是一个重复造轮子的过程,Docker Machine 则把用户搭建 Docker 环境的各种方案汇集在了一起.笔者在<Docker Machine 简介>一文中演示了使用 Do ...

随机推荐

  1. Effective Java 第三版——43.方法引用优于lambda表达式

    Tips <Effective Java, Third Edition>一书英文版已经出版,这本书的第二版想必很多人都读过,号称Java四大名著之一,不过第二版2009年出版,到现在已经将 ...

  2. Prometheus监控数据格式学习

    本文大纲: • prometheus metrics的概念• k/v的数据形式• prometheus exporter的使⽤(pull形式采集数据)• prometheus pushgateway的 ...

  3. .net core下使用Thrift

    因网站组(.net)与游戏服务端(c++)原来使用REST API通讯效率稍显低下,准备下期重构时改用rpc方式,经比较Thrift和gRPC两者的优劣(参照网上的对比结果),最终决定使用Thrift ...

  4. BZOJ_4325_NOIP2015 斗地主_DFS

    BZOJ_4325_NOIP2015 斗地主_DFS Description 牛牛最近迷上了一种叫斗地主的扑克游戏.斗地主是一种使用黑桃.红心.梅花.方片的A到K加上大小王的共54张牌来进行的扑克牌游 ...

  5. BZOJ_3144_[Hnoi2013]切糕_最小割

    BZOJ_3144_[Hnoi2013]切糕_最小割 Description Input 第一行是三个正整数P,Q,R,表示切糕的长P. 宽Q.高R.第二行有一个非负整数D,表示光滑性要求.接下来是R ...

  6. BZOJ_3524_[Poi2014]Couriers_主席树

    BZOJ_3524_[Poi2014]Couriers_主席树 题意:给一个长度为n的序列a.1≤a[i]≤n. m组询问,每次询问一个区间[l,r],是否存在一个数在[l,r]中出现的次数大于(r- ...

  7. php之array_column 的使用

    听说只有大牛级的高工才知道的函数array_column () 讲真,我才知道. (PHP 5 >= 5.5.0, PHP 7) array_column - 返回数组中指定的一列 说明 arr ...

  8. OutputStream与PrintWriter的使用与区别

    1.OutputStream 使用步骤: 获取输出流 设置中文 将字符串转换成字节数组 调用outputStream.write() 这里只贴出doGet方法的内容: protected void d ...

  9. MNIST手写识别

    Demo侠可能是我等小白进阶的必经之路了,如今在AI领域,我也是个研究Demo的小白.用了两三天装好环境,跑通Demo,自学Python语法,进而研究这个Demo.当然过程中查了很多资料,充分发挥了小 ...

  10. java代码之美(12)---CollectionUtils工具类

    java代码之美(12)---CollectionUtils工具类 这篇讲的CollectionUtils工具类是在apache下的, 而不是springframework下的CollectionUt ...