[Y_H]实践原创
三台虚拟机:1台centOS , 2台ubuntu。
 
网上有用docker-machine创建虚拟机做的例子。
 
这里直接用VMware创建这三台虚拟机,然后用xshell连接三台虚拟机。作为理解之后的例子实践。
 
坑:
1.利用镜像swarm,搭建swarm集群,创立了连接,但是节点不能识别,报错较多,且不易解决。
2.在建立好manager管理节点后,其他机器在执行docker swarm join命令时会报错:
Error response from daemon: rpc error: code = Unavailable desc = grpc: the connection is unavailable,
这个错误的原因是manager上的节点的防火墙处于打开状态,这个连接的端口其他机器无法访问。
 
 
1.创建swarm集群,manager(centOS)上执行操作如下:
 
[root@krdevd ~]# docker swarm init --advertise-addr 192.168.43.130:2377
Swarm initialized: current node (i4msay5uw65sl7v0vkrvkh2kz) is now a manager.

  

显示类似下面的内容:
To add a worker to this swarm, run the following command:

    docker swarm join \
--token SWMTKN--2hvx4y34iizsl7nineenmv9zqaqh954mgcgus1leu8125dgppo-agpddu8kx7k1anyxnjx47vhfr \
192.168.43.130: To add a manager to this swarm, run 'docker swarm join-token manager' and follow the instructions.
 
2.关闭manager(centOS)上的防火墙(应对坑2):
[root@krdevd ~]# firewall-cmd --state
running
[root@krdevd ~]# systemctl stop firewalld.service
[root@krdevd ~]# firewall-cmd --state
not running
 
3.将另外两台ubuntu机器加入集群:
加入worker1:
root@ubuntu:~#   docker swarm join \
--token SWMTKN--2hvx4y34iizsl7nineenmv9zqaqh954mgcgus1leu8125dgppo-agpddu8kx7k1anyxnjx47vhfr \
192.168.43.130:
This node joined a swarm as a worker.
同样的操作在另一台ubuntu上执行该命令。加入worker2.
 
4.查看docker node运行情况
[root@krdevd ~]# docker node ls
ID HOSTNAME STATUS AVAILABILITY MANAGER STATUS
i4msay5uw65sl7v0vkrvkh2kz * krdevd Ready Active Leader
jxktyger0gylzeytub81cb4ay ubuntu Ready Active
znyj4k5kfjs562nd6x7ho7ji7 ubuntu Ready Active
 
5.开启nginx服务测试集群,可以在三台虚拟机的80端口访问nginx的起始页。   
[root@krdevd ~]# docker service create --replicas  -p : --name nginx nginx:1.13.-alpine
107y9n9ikbuzj1mo5lzrv6ljw
[root@krdevd ~]# docker service ls
ID NAME MODE REPLICAS IMAGE
107y9n9ikbuz nginx replicated / nginx:1.13.-alpine

分享:docker swarm集群搭建的更多相关文章

  1. docker swarm集群搭建及使用Portainer、shipyard

    一.规划 1.swarm01作为manager节点,swarm02和swarm03作为worker节点. # cat /etc/hosts 127.0.0.1   localhost 192.168. ...

  2. docker swarm集群搭建以及使用滚动更新

    基础环境,三台虚拟机 172.17.3.70 172.17.3.71 172.17.3.72 系统配置:centos 7,关闭selinux 需要优化的基础配置: [root@sw1 ~]# vim ...

  3. Docker swarm集群搭建教程

    一.什么是Swarm Swarm这个项目名称特别贴切.在Wiki的解释中,Swarm behavior是指动物的群集行为.比如我们常见的蜂群,鱼群,秋天往南飞的雁群都可以称作Swarm behavio ...

  4. DOCKER 学习笔记8 Docker Swarm 集群搭建

    前言 在前面的文章中,已经介绍如何在本地通过Docker Machine 创建虚拟Docker 主机,以及也可以在本地Windows 创建虚拟主机,也是可以使用的.这一节,我们将继续学习 Docker ...

  5. docker swarm集群搭建

    本文来自我的github pages博客http://galengao.github.io/ 即www.gaohuirong.cn 摘要: swarm是docker原生的集群管理软件,与kuberne ...

  6. docker swarm 集群搭建

    创建一个集群 [vagrant@node1 ~]$ docker swarm init --advertise-addr 192.168.9.101 Swarm initialized: curren ...

  7. Docker系列之swarm集群搭建

    学习Docker很久了,今天分享一下Docker的swarm集群的搭建过程很简单 首先第一步是 每台机器上面都要安装docker 本人使用的是centos7操作系统,使用3太虚拟机,3太虚拟机必须网络 ...

  8. 从零开始搭建Docker Swarm集群

    从零开始搭建Docker Swarm集群 检查节点Docker配置 1. 打开Docker配置文件(示例是centos 7)vim /etc/sysconfig/docker2. 添加-H tcp:/ ...

  9. Docker Swarm 集群环境搭建及弹性服务部署

    上一篇文章<Docker Swarm 集群管理利器核心概念扫盲>中我们把 Swarm 重要的概念性知识给大家讲解了一波,理论完事就该实战了,这篇文章带大家从零开始,搭建 Docker Sw ...

随机推荐

  1. Hibernate中的条件查询完成类

    Hibernate中的条件查询有以下三个类完成: 1.Criteria:代表一次查询 2.Criterion:代表一个查询条件 3.Restrictions:产生查询条件的工具类

  2. 芝麻HTTP:如何寻找爬虫入口

    寻找爬虫入口 1 .本次任务的入口 这个爬虫的更好的入口就是我们平常使用的搜索引擎.搜索引擎虽然有很多种,但是其实都是在干一件事,收录网页,处理,然后提供搜索服务.在平时使用的过程中,我们通常都是直接 ...

  3. 2017java文件操作(读写操作)

    java的读写操作是学java开发的必经之路,下面就来总结下java的读写操作. 从上图可以开出,java的读写操作(输入输出)可以用"流"这个概念来表示,总体而言,java的读写 ...

  4. css 超出规定行数自动隐藏

     单行overflow: hidden;text-overflow: ellipsis;white-space: nowrap;  多行(兼容各个浏览器)//通过覆盖最后几个字的形式p{positio ...

  5. 动态添加弹出页面(shiro项目中来的七)

    一,图解 二,代码 2.0,新增代码 //打开编辑属性(新增) function dialog_open(){ $("#dialog-add").css("display ...

  6. 端口被占用:android studio 虚拟机adb.exe已停止工作的处理

    浏览:2190 | 更新:2017-09-16 05:00 1 2 3 4 5 6 分步阅读 在搭建android studio开发环境后,开始编程调试程序时,不管运行虚拟机还是真机,都不停出现&qu ...

  7. 5 分钟让你秒懂 Docker !

    Docker是啥? 打开翻译君输入Docker 结果显示码头工人,没错!码头工人搬运的是集装箱,那么今天要讲的Docker其操作的也是集装箱,这个集装箱就静态而言就是一个应用镜像文件,就动态而言,就是 ...

  8. Vue-框架模板的源代码注释

    请稍等..吃完饭回来写 吃饭回来了~嘿 ----------------正经分割线----------------- 先看我的目录结构:这是配置好node环境和配置好webpack后,生成的原始框架. ...

  9. ES2015 类 class 语法

    在ES2015之前,定义类的方法只能通过原型链来模拟 function Animal(family,species) { this.family = family; this.species = sp ...

  10. To Fill or Not to Fill (贪心)

    转自:https://www.cnblogs.com/XBWer/p/3866486.html With highways available, driving a car from Hangzhou ...