1.使用 vagrant 部署 三台 centos/7 的 环境

###Vagrantfile

# -*- mode: ruby -*-

# vi: set ft=ruby :

Vagrant.require_version ">= 1.6.0"

boxes = [

{

:name=>"docker-host",

:eth1=>"192.168.205.10",

:mem=>"1024",

:cpu=>"1",

:port=>"8888"

},

{

:name=>"docker-node1",

:eth1=>"192.168.205.11",

:mem=>"1024",

:cpu=>"1",

:port=>"8889"

},

{

:name=>"docker-node2",

:eth1=>"192.168.205.12",

:mem=>"1024",

:cpu=>"1",

:port=>"8890"

}

]

Vagrant.configure(2) do |config|

config.vm.box = "centos/7"

boxes.each do |opts|

config.vm.define opts[:name] do |config|

config.vm.hostname = opts[:name]

config.vm.network "forwarded_port", guest: 80, host: opts[:port]

config.vm.provider "vmware_fusion" do |v|

v.vmx["memsize"] = opts[:mem]

v.vmx["numvcpus"] = opts[:cpu]

end

config.vm.provider "virtualbox" do |v|

v.customize ["modifyvm", :id, "--memory", opts[:mem]]

v.customize ["modifyvm", :id, "--cpus", opts[:cpu]]

end

config.vm.network :private_network, ip: opts[:eth1]

end

end

config.vm.synced_folder "./labs", "/home/vagrant/labs"

config.vm.provision "shell", privileged: true, path: "./setup.sh"

end

2.编写 setup.sh

###setup.sh

#/bin/sh

# install some tools

sudo yum install -y wget

sudo mv /etc/yum.repos.d/CentOS-Base.repo /etc/yum.repos.d/CentOS-Base.repo_bak

sudo wget -O /etc/yum.repos.d/CentOS-Base.repo http://mirrors.aliyun.com/repo/Centos-7.repo

sudo yum makecache

sudo yum -y update

sudo yum install -y git vim gcc glibc-static telnet bridge-utils

# install docker

curl -fsSL get.docker.com -o get-docker.sh

sh get-docker.sh

# start docker service

sudo groupadd docker

sudo usermod -aG docker vagrant

sudo systemctl start docker

rm -rf get-docker.sh

sudo tee /etc/docker/daemon.json <<-'EOF'

{

"registry-mirrors": ["https://v2ltjwbg.mirror.aliyuncs.com"]

}

EOF

sudo systemctl daemon-reload

sudo systemctl restart docker

docker version

3.创建labs 文件夹 并启动容器

  mkdir  lables

  vagrant up

4. 进去 host 节点

  vagrant ssh docker-host

  声明 manager 节点

  docker swarm init --advertise-addr=192.168.205.10

  只需要 在其他节点运行这段代码 即可 进入这个节点

5. 进入node1节点 并 加入 swarm 集群

  进入docker-node1 节点

    vagrant ssh docker-node1

  运行刚刚生成的代码即可加入 swarm 集群

    docker swarm join --token SWMTKN-1-29cjw98xafo5454juq28ldear34aafbp1n616wilrnjl0q92jz-dt02qoe4nhe98mf6jon9rukca 192.168.205.10:2377

  在 host 节点查看集群节点情况

    docker-host 下

    docker node ls

  docker-node2 节点同理

6. 在 docker-machine 上进行 swarm 安装

  docker-machine create swarm-manager

  docker-machine create swarm-node1

  docker-machine create swarm-node2

  同理 加入

7. 在 labs.play-with-docker.com

  常见三个虚拟主机即可运行上面的命令即可

29. docker swarm 创建 三个节点 swarm 的集群的更多相关文章

  1. 使用 Docker, 7 个命令部署一个 Mesos 集群

    这个教程将给你展示怎样使用 Docker 容器提供一个单节点的 Mesos 集群(未来的一篇文章将展示怎样很容易的扩展这个到多个节点或者是见底部更新).这意味着你可以使用 7 个命令启动整个集群!不需 ...

  2. 沉淀,再出发——手把手教你使用VirtualBox搭建含有三个虚拟节点的Hadoop集群

    手把手教你使用VirtualBox搭建含有三个虚拟节点的Hadoop集群 一.准备,再出发 在项目启动之前,让我们看一下前面所做的工作.首先我们掌握了一些Linux的基本命令和重要的文件,其次我们学会 ...

  3. 『叶问』#41,三节点的MGR集群,有两个节点宕机后还能正常工作吗

    『叶问』#41,三节点的MGR集群,有两个节点宕机后还能正常工作吗 每周学点MGR知识. 1. 三节点的MGR集群,有两个节点宕机后还能正常工作吗 要看具体是哪种情况. 如果两个节点是正常关闭的话,则 ...

  4. Docker:docker部署PXC-5.7.21(mysql5.7.21)集群搭建负载均衡实现双机热部署方案

    单节点数据库弊端 大型互联网程序用户群体庞大,所以架构必须要特殊设计 单节点的数据库无法满足性能上的要求 单节点的数据库没有冗余设计,无法满足高可用 推荐Mysql集群部署方案 PXC (Percon ...

  5. 【K8S】基于单Master节点安装K8S集群

    写在前面 最近在研究K8S,今天就输出部分研究成果吧,后续也会持续更新. 集群规划 IP 主机名 节点 操作系统版本 192.168.175.101 binghe101 Master CentOS 8 ...

  6. 基于hadoop2.6.0搭建5个节点的分布式集群

    1.前言 我们使用hadoop2.6.0版本配置Hadoop集群,同时配置NameNode+HA.ResourceManager+HA,并使用zookeeper来管理Hadoop集群 2.规划 1.主 ...

  7. Kibana安装(图文详解)(多节点的ELK集群安装在一个节点就好)

    对于Kibana ,我们知道,是Elasticsearch/Logstash/Kibana的必不可少成员. 前提: Elasticsearch-2.4.3的下载(图文详解) Elasticsearch ...

  8. kafka系列一:单节点伪分布式集群搭建

    Kafka集群搭建分为单节点的伪分布式集群和多节点的分布式集群两种,首先来看一下单节点伪分布式集群安装.单节点伪分布式集群是指集群由一台ZooKeeper服务器和一台Kafka broker服务器组成 ...

  9. Hadoop 单节点(或集群)基本配置信息

    1. 默认配置文件: 存放于Hadoop对应的jar包中 core-default.xml hdfs-default.xml yarn-default.xml mapred-default.xml 2 ...

随机推荐

  1. 小程序中的web-view与h5网页之间的交互

    官方文档:https://developers.weixin.qq.com/miniprogram/dev/component/web-view.html web-view 基础库 1.6.4 开始支 ...

  2. C++学习链表

    #include"pch.h" #include<iostream> #include<string> using namespace std; struc ...

  3. 124-PHP类析构函数

    <?php class myclass{ //定义一个类 public function __destruct(){ //定义析构方法 echo '析构方法执行.<br />'; } ...

  4. 第二阶段scrum-8

    1.整个团队的任务量: 2.任务看板: 会议照片: 产品状态: 消息收发制作中

  5. 解决对路径bin\roslyn..的访问被拒绝

    使用visual studio开发,一重新编译就会报错: 对路径“bin\roslyn\System.Reflection.Metadata.dll”的访问被拒绝 一开始的解决办法就是把bin下的文件 ...

  6. ubuntu12.04安装JDK8

    系统里已经有jdk1.6,下载并解压jdk后,按照网上的教程(bash.bashrc)没成功. sudo update-alternatives --install /usr/bin/java jav ...

  7. Elasticsearch 更新文档

    章节 Elasticsearch 基本概念 Elasticsearch 安装 Elasticsearch 使用集群 Elasticsearch 健康检查 Elasticsearch 列出索引 Elas ...

  8. hdu 1160 上升序列 dp

    FatMouse's Speed Time Limit: 2000/1000 MS (Java/Others)    Memory Limit: 65536/32768 K (Java/Others) ...

  9. PHP购物网站

    我使用的phpsteam经常用着用着就闪退,所以做起来挺麻烦的.里面的代码有抄袭借鉴网上的代码,就是那个php做购物网站点击量最高的那个. 但是我很多代码也是自己写的不和其相同. PHP是一门选修课, ...

  10. Linux Shell编程case语句

    http://blog.csdn.net/dreamtdp/article/details/8048720 case语句适用于需要进行多重分支的应用情况. case分支语句的格式如下: case $变 ...