对于集群服务器来讲,要在每台机器上手动安装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 sys和shutil模块

    # !/user/bin/python # -*- coding: utf-8 -*- import sys # version 获取版本信息 sys.version # maxint 支持的最大in ...

  2. Oracle保留小数点后两位的几种方法

    有时候在做数据处理的时候,在前台页面上显示的数字需要保留小数点的后两位,不足两位的用0代替,这个时候就需要对数据做一些处理了.如果只用round(value,2)(四舍五入)和trunc(value, ...

  3. sdoi 2009 HH去散步 矩阵乘

    如果没有题里的"不会立刻沿着刚刚走来的路走回"限制,那么直接矩乘计算k步的方案数 但加了这个限制,就不能以点来矩乘了,考虑边数<=60,如果以边建邻接矩阵呢?? 先拆边,再把 ...

  4. webpack Code Splitting浅析

    Code Splitting是webpack的一个重要特性,他允许你将代码打包生成多个bundle.对多页应用来说,它是必须的,因为必须要配置多个入口生成多个bundle:对于单页应用来说,如果只打包 ...

  5. Actor模型及原理

    1.Actor模型 在使用Java进行并发编程时需要特别的关注锁和内存原子性等一系列线程问题,而Actor模型内部的状态由它自己维护即它内部数据只能由它自己修改(通过消息传递来进行状态修改),所以使用 ...

  6. Visual Studio Code 中文界面设置

    Visual Studio Code 中文界面设置 昨天,想要试一下用 VS Code 写 Markdown 格式的博客,下载下来发现是英文界面: 按照我以前的经验应该会自动提示切换语言的,但是这次等 ...

  7. Python爬虫入门教程 55-100 python爬虫高级技术之验证码篇

    验证码探究 如果你是一个数据挖掘爱好者,那么验证码是你避免不过去的一个天坑,和各种验证码斗争,必然是你成长的一条道路,接下来的几篇文章,我会尽量的找到各种验证码,并且去尝试解决掉它,中间有些技术甚至我 ...

  8. redis测试实践

    最近测试服务端的时候,接触到了redis,之前也看过,但不系统,借着这次实践,记录一下. 一.写在前面 Redis是一个开源的使用ANSI C语言编写.遵守BSD协议.支持网络.可基于内存亦可持久化的 ...

  9. Android版数据结构与算法(八):二叉排序树

    本文目录 前两篇文章我们学习了一些树的基本概念以及常用操作,本篇我们了解一下二叉树的一种特殊形式:二叉排序树(Binary Sort Tree),又称二叉查找树(Binary Search Tree) ...

  10. 大数据量下DataTable To List效率对比

    使用反射和动态生成代码两种方式(Reflect和Emit) 反射将DataTable转为List方法 public static List<T> ToListByReflect<T& ...