转自:https://www.cnblogs.com/jsonhc/p/7832642.html

安装之前的环境:

两个节点,节点1:192.168.101.14,用来创建manager1 machine,节点2:192.168.101.15,被节点1通过远程创建work1 machine

两个节点环境:都是基于centos7,节点1安装了docker daemon,节点2没有安装任何docker环境(节点1通过generic驱动来安装machine)

1、在节点1上安装docker-machine

[root@docker tools]# mv docker-machine  /usr/local/bin/
[root@docker bin]# chmod +x docker-machine

docker-machine的二进制文件通过之前的文章进行下载,这里不详述了,安装好docker-machine之后,为节点1创建manager1 machine

[root@docker ~]# ssh-keygen
[root@docker ~]# ssh-copy-id root@192.168.101.14 将key传给自己
[root@docker ~]# docker-machine create -d generic --generic-ip-address=192.168.101.14 --generic-ssh-key ~/.ssh/id_rsa --generic-ssh-user=root manager1

由于是在节点1本机上创建machine,所以key传给自己,现在在节点1上通过docker-machine为节点2创建work1 machine

[root@docker ~]# ssh-copy-id root@192.168.101.15      将key传给15
[root@docker ~]# docker-machine create -d generic --generic-ip-address=192.168.101.15 --generic-ssh-key ~/.ssh/id_rsa --generic-ssh-user=root work1

这样操作之后,能够在节点2(192.168.101.15)上安装docker、docker-machine等环境

2、查看创建完成后的machine:

[root@manager1 ~]# docker-machine ls
NAME ACTIVE DRIVER STATE URL SWARM DOCKER ERRORS
manager1 - generic Running tcp://192.168.101.14:2376 v17.09.0-ce
work1 - generic Running tcp://192.168.101.15:2376 v17.10.0-ce

3、在manager1节点上创建swarm,并将manager1节点作为swarm的管理节点:

[root@manager1 ~]# docker swarm init --advertise-addr 192.168.101.14

4、创建的swarm有一个manager1节点,也就是管理节点了,现在为swarm添加一个work节点,将work1节点添加到swarm集群中:

[root@work1 ~]# docker swarm join --token SWMTKN-1-3fcp657en1bt3kemq4okp411fzxsoet5ayvvos1ipxlogliejr-3qznuxm91ccgx0rgx6zhg6h4z 192.168.101.14:2377
This node joined a swarm as a worker.

在主机192.168.101.15也就是work1节点上执行此命令(将自己work1节点添加到swarm中去)

如果不知道添加work节点的命令,可以通过在manager1节点上执行下面命令,查看具体添加work节点的命令:

# docker swarm join-token worker

将得到后的命令结果在work节点上执行

5、在swarm集群中的管理节点上查看节点信息:

[root@manager1 ~]# docker node ls
ID HOSTNAME STATUS AVAILABILITY MANAGER STATUS
fr67r1aa0oq3hkhd7knqev61w * manager1 Ready Active Leader
kfihkvme0tp6vao1j5894y3cl work1 Ready Active

还可以通过docker info查看更加详细的信息(当然还是在管理节点上执行)

利用docker-machine安装swarm的更多相关文章

  1. docker学习笔记(一)-vagrant/docker machine安装docker,阿里云通过docker machine安装docker

    首先需要先安装virtualbox https://www.vagrantup.com/ 下载安装vagrant 安装完毕后通过vagrant下载镜像,生成实例 mkdir test_centos7 ...

  2. 在CentOS下利用Docker一键安装seafile

    https://cloud.seafile.com/published/seafile-manual-cn/docker/pro-edition/%E7%94%A8Docker%E9%83%A8%E7 ...

  3. Docker(五):Docker 三剑客之 Docker Machine

    上篇文章Docker(四):Docker 三剑客之 Docker Compose介绍了 Docker Compose,这篇文章我们来了解 Docker Machine . Docker Machine ...

  4. 容器技术之Docker Machine

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

  5. Docker Machine 简介

    Docker Machine 是什么? Docker Machine 是 Docker 官方提供的一个工具,它可以帮助我们在远程的机器上安装 Docker,或者在虚拟机 host 上直接安装虚拟机并在 ...

  6. Docker(二十五)-Docker Machine

    Docker Machine 是什么? Docker Machine 是 Docker 官方提供的一个工具,它可以帮助我们在远程的机器上安装 Docker,或者在虚拟机 host 上直接安装虚拟机并在 ...

  7. Docker:安装部署RabbitMQ

    前言 今天原本想讲解SpringBoot集成RabbitMQ的,临近开始写时才发现家里的电脑根本没有安装RabbitMQ呀.这下只好利用已有的阿里云服务器,直接Docker安装一下了,顺道记录下,算是 ...

  8. docker showdoc安装

    自动脚本安装 前言 自动脚本脚本利用docker来安装运行环境,适用于linux服务器.如果你的服务器没有docker服务,脚本会尝试安装之.安装docker的过程可能有些慢.如果你已经安装过dock ...

  9. docker方式安装zabbix

    这个示例展现了如何运行支持MySQL数据库的Zabbix server,基于Nginx web服务器运行Zabbix web接口,以及Zabbix Java gateway. 1. 启动一个空的MyS ...

  10. centos7下安装docker(24docker swarm 数据管理)

    service的容器副本会scal up/down,会failover,会在不同的主机上创建和销毁,这就引出一个问题,如果service有数据,那么这些数据该如何存放呢? 1.打包在容器中: 显然不行 ...

随机推荐

  1. spring 如何决定使用jdk动态代理和cglib(转)

    Spring1.2: 将事务代理工厂[TransactionProxyFactoryBean] 或 自动代理拦截器[BeanNameAutoProxyCreator] 的 proxyTargetCla ...

  2. 06-ICMP: Internet 控制报文协议

    I C M P经常被认为是I P层的一个组成部分.它传递差错报文以及其他需要注意的信息. I C M P报文通常被I P层或更高层协议( T C P或U D P)使用.一些I C M P报文把差错报文 ...

  3. 第2章 GNS3和PacketTracer网络模拟器(3)_搭建Packet tracer实验环境

    3. Packet tracer实验环境 3.1 设置网络拓扑图 (1)配置路由器局域网和广域网接口,如上图(可双击相应的图标,然后在命令行或图形界面上进行IP地址等配置) ①本例采用“Generic ...

  4. (转)Intellij IDEA 快捷键整理

    [常规] Ctrl+Shift + Enter,语句完成 “!”,否定完成,输入表达式时按 “!”键 Ctrl+E,最近的文件 Ctrl+Shift+E,最近更改的文件 Shift+Click,可以关 ...

  5. 电商系统架构总结1(EF)

    最近主导了一个电商系统的设计开发过程,包括前期分析设计,框架搭建,功能模块的具体开发(主要负责在线支付部分),成功上线后的部署维护,运维策略等等全过程. 虽然这个系统不是什么超大型的电商系统 数亿计的 ...

  6. courator - maven

    ZK3.4.x: <!-- https://mvnrepository.com/artifact/org.apache.curator/curator-recipes --> <de ...

  7. scrapy框架之分布式操作

    分布式概念 分布式爬虫: 1.概念:多台机器上可以执行同一个爬虫程序,实现网站数据的分布爬取. 2.原生的scrapy是不可以实现分布式爬虫? a)调度器无法共享 b)管道无法共享 3.scrapy- ...

  8. mapreduce深入剖析5大视频

    参考代码 TVPlayCount.java package com.dajiangtai.hadoop.tvplay; import java.io.IOException; import org.a ...

  9. VMware NAT模式多个虚拟机相互访问

    在一台主机上只允许有一个NAT模式的虚拟网络.因此,同一台主机上的多个采用NAT模式网络连接的虚拟机也是可以相互访问的.

  10. Spring中BeanFactory与ApplicationContext的区别

    BeanFactory:Bean工厂接口,是访问Spring Bean容器的根接口,基本Bean视图客户端.从其名称上即可看出其功能,即实现Spring Bean容器的读取. ApplicationC ...