[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. (二十三)mongodb中group的问题

    今天的工作中我需要从mongodb数据库中查出一定的数据,并排序后返回给前台,数据库表中包含了ruleID,processingID,userID,updateTime等字段.    同一个ruleI ...

  2. java特征

    java的核心是面向对象,与之相对的是面向过程的编程,在对整个java编程没有足够的理解和运用的情况下恐怕没办法很好的理解这两个概念. 在我的初步理解中,写一个程序就例如做一件事情,面向过程的思想或许 ...

  3. SQL游标使用及实例

    declare my_cursor cursor scroll dynamic for select * from t_msg open my_cursor declare @name sysname ...

  4. 生物结构变异分析软件meerkat 0.189使用笔记(一)

    一.准备工作     meerkat 0.189版本和以前的版本相比,支持bwa mem 输出的bam文件,还支持全外显子数据count SV. meerkat原理:参见http://compbio. ...

  5. nodejs异步案例

    const fs = require('fs'); fs.readFile('./test.txt', 'utf-8', (err, data) => { err ? console.error ...

  6. Win Form不能响应键盘事件

    在窗体属性中,将KeyPreview设置为true

  7. 招聘面试—关于Mysql的一点儿总结

    最近半年,作为部门的面试官之一,参加了许多次招聘面试.数据库知识,尤其是对数据的增删改查等操作是软件测试人员的基本功,是面试过程中的必考项.在这其中,有一道题,是我每次面试的必考题. 题目 以Mysq ...

  8. springboot入门的一点基础

    什么是SpringBoot java问世20年由于,发展到现在从技术角度来说已经很成熟,开发过程中我们总是在想如何去提高团队开发规范性.减少重复配置.避免低效开发.部署发布时流程的复杂度以及第三方技术 ...

  9. 运用socket实现简单的ssh功能

    在python socket知识点中已经对socket进行了初步的了解,那现在就使用这些知识来实现一个简单的ssh(Secure Shell)功能. 首先同样是建立两个端(服务器端和客户端) 需求是: ...

  10. linux & mac环境python多版本切换与选择

    linux和mac很多地方是相似的,只不过在切换python版本时权限有差异. ====图已补上,O(∩_∩)O~ 1.linux 首先linux内核自带版本是python2.6,但是一般linux ...