对于集群服务器来讲,要在每台机器上手动安装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. Python logger /logging

    # !/user/bin/python # -*- coding: utf-8 -*- ''' subprocess : 需要在linux平台上测试 shell logging ''' import ...

  2. HashMap和LinkedHashMap的区别

    参考:https://blog.csdn.net/a822631129/article/details/78520111 java为数据结构中的映射定义了一个接口java.util.Map;它有四个实 ...

  3. Mave手动安装jar包

    今天配置Maven项目时有一个相应的jdbc驱动jar包导不进去,就自己导入了. 首先在官网上下载该jar包,地址为http://mvnrepository.com/ 点击jar下载. 用maven命 ...

  4. 【游戏开发】小白学Lua——从Lua查找表元素的过程看元表、元方法

    引言 在上篇博客中,我们简单地学习了一下Lua的基本语法.其实在Lua中有一个还有一个叫元表的概念,不得不着重地探讨一下.元表在实际地开发中,也是会被极大程度地所使用到.本篇博客,就让我们从Lua查找 ...

  5. 在线数据库表(sql语句)生成java实体类工具

    相信每个做java开发的读者,都接触过SQL建表语句,尤其是在项目开发初期,因为数据库是项目的基石. 在现代项目开发中,出现了许多ORM框架,通过简单的实体映射,即可实现与数据库的交互,然而我们最初设 ...

  6. Python学习笔记1 -- TypeError: 'str' object is not callable

    Traceback (most recent call last): File "myfirstpython.py", line 39, in <module> pri ...

  7. Typora + Mathpix Snip,相见恨晚的神器

    word 文档虽然很好,但当我需要输入一大堆公式的时候,word 公式让我疯狂. Why markdown?首先,GitHub 上都在用,那我也得会吧,不然 README.md 怎么写:其次,mark ...

  8. object类和内部类

    1.Object object类是所有类的根类(父类). 如果一个类没有显示继承另外一个类,那么该类一定继承于object类. toString()返回对象字符串的的形式. public class ...

  9. Vue 进阶之路(四)

    之前的文章我们已经对 vue 有了初步认识,这篇文章我们通过一个例子说一下 vue 的样式绑定. 现在我们想要是想这样一个需求,页面上有个单词,当我们点击它的时候颜色变为红色,再点击一次变为原来的颜色 ...

  10. 一个Mini的ASP.NET Core框架的实现

    一.ASP.NET Core Mini 在2019年1月的微软技术(苏州)俱乐部成立大会上,蒋金楠老师(大内老A)分享了一个名为“ASP.NET Core框架揭秘”的课程,他用不到200行的代码实现了 ...