以下是购买的阿里云服务器ECS的四个实例,确保四台服务器互相可以ping通。

一、环境准备(安装docker)

(1)安装gcc相关环境(在四台服务器上)

yum -y install gcc

yum -y install gcc-c++

(2)卸载旧版本

yum remove docker \
docker-client \
docker-client-latest \
docker-common \
docker-latest \
docker-latest-logrotate \
docker-logrotate \
docker-engine

(3)安装需要的软件包

yum -y install yum-utils

(4)设置镜像仓库

# 配置镜像的阿里云仓库
yum-config-manager --add-repo http://mirrors.aliyun.com/docker-ce/linux/centos/docker-ce.repo

(5)更新yum软件包索引

yum clean all && yum makecache fast

(6)安装docker ce:yum -y install docker-ce docker-ce-cli containerd.io

yum -y install docker-ce docker-ce-cli containerd.io

(7)启动docker

systemctl start docker

(8)查看docker版本:docker version

(9)运行hello-world镜像:docker run hello-world

(10)查看docker镜像列表:docker images

(11)配置阿里云镜像加速

sudo mkdir -p /etc/docker
sudo tee /etc/docker/daemon.json <<-'EOF'
{
"registry-mirrors": ["https://9d57k4xg.mirror.aliyuncs.com"]
}
EOF
sudo systemctl daemon-reload
sudo systemctl restart docker

附:卸载docker

1、停止docker服务:systemctl stop docker

2、卸载docker ce:yum -y remove docker-ce docker-ce-cli containerd.io

3、删除docker相关类库文件:rm -rf /var/lib/docker

二、集群搭建

搭建步骤:

(1)选一台节点作为Leader节点,进行docker swarm init操作

(2)在Leader节点执行docker swarm join-token manager/worker

(3)根据manager和worker的令牌,在其他节点执行命令后,以manager/worker身份加入swarm集群。

(1)查看docker网络以及swarm帮助信息

(2)使用ip addr查看ctos79-01的IP地址,初始化该节点并使其成为swarm集群的manager节点

docker swarm  init --advertise-addr 192.168.0.63

初始化之后,会生成worker的令牌,在其他安装好docker的节点执行可以使其以worker的身份加入swarm集群。

(3)查看manager的令牌

(4)在ctos79-02、ctos79-04执行以下命令,使其加入swarm集群(成为worker)

docker swarm join \
--token SWMTKN-1-27dnkjuk3ckufl2y1cmlxikaaew9h1r46juuh5hbn3lretrmj6-7qj3yrqbnj96rb94jgigctiow 192.168.0.63:2377

(5)在ctos79-03执行以下命令,使其加入swarm集群(成为manager)

docker swarm join \
--token SWMTKN-1-27dnkjuk3ckufl2y1cmlxikaaew9h1r46juuh5hbn3lretrmj6-cxzpkomnmqdek1j0fvg6ke1r2 192.168.0.63:2377

(6)在ctos79-01节点执行:docker node ls查看node列表

附:获取令牌

# 获取成为swarm集群manager节点的token
docker swarm join-token manager
# 获取成为swarm集群worker节点的token
docker swarm join-token worker

swarm集群至少得有三个manager节点

— 要养成终身学习的习惯 —

docker - [16] Swarm集群搭建的更多相关文章

  1. Docker系列之swarm集群搭建

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

  2. 基于zookeeper的Swarm集群搭建

    简介 Swarm:docker原生的集群管理工具,将一组docker主机作为一个虚拟的docker主机来管理. 对客户端而言,Swarm集群就像是另一台普通的docker主机. Swarm集群中的每台 ...

  3. 分享:docker swarm集群搭建

    [Y_H]实践原创 三台虚拟机:1台centOS , 2台ubuntu.   网上有用docker-machine创建虚拟机做的例子.   这里直接用VMware创建这三台虚拟机,然后用xshell连 ...

  4. Docker swarm集群搭建教程

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

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

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

  6. docker swarm集群搭建

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

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

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

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

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

  9. Docker下ETCD集群搭建

    搭建集群之前首先准备两台安装了CentOS 7的主机,并在其上安装好Docker. Master 10.100.97.46 Node 10.100.97.64 ETCD集群搭建有三种方式,分别是Sta ...

  10. docker实验--redis集群搭建

    背景介绍: 我经常在做一些小项目的时候,采用了Redis来做缓存,但是都是基于单节点的,一旦redis挂了,整个项目就挂了.于是乎,想到了多节点集群的方式来使用,就开始折腾着怎么去搭建这个集群.在网上 ...

随机推荐

  1. .NET 单文件执行程序拆解器 SingleFileExtractor

    .NET 单文件执行程序拆解器 SingleFileExtractor .NET 现在支持将程序打包为单文件格式,这方便了部署,问题是,我们不能直接看到程序中使用了哪些 DLL,更不能简单地通过查看文 ...

  2. django介绍及基本使用

    目录 一.python主流web框架 二.django简介 1.版本问题 2.运行django注意事项 三.django基本使用 1.下载模块 2.验证 3.常见命令 4.pycharm自动创建dja ...

  3. 聊一聊 C#线程池 的线程动态注入 (上)

    一:背景 1. 讲故事 在线程饥饿的场景中,我们首先要了解的就是线程是如何动态注入的?其实现如今的ThreadPool内部的实现逻辑非常复杂,而且随着版本的迭代内部逻辑也在不断的变化,有时候也没必要详 ...

  4. Qt音视频开发12-easyplayer内核

    一.前言 在视频监控行业经常看到两个厂家广告打得比较厉害,一个是青犀视频对应easyplayer,一个是大牛直播,两个最初都是sdk免费,并提供调用示例源码,后面大牛直播的sdk以及示例都无法运行,目 ...

  5. Qt音视频开发06-海康sdk内核linux客户端

    一.前言 海康sdk的示例在官方是提供了的,但是无论UI还是交互简直是宇宙无敌的垃圾,猜测应该是初学者编写的,估计练手用的,所以老早就想把这个linux支持集成到自己的示例中,既然已经支持了windo ...

  6. Qt通用方法及类库2

    函数名 //初始化数据库 static void initDb(const QString &dbName); //初始化文件,不存在则拷贝 static void initFile(cons ...

  7. 字符编码技术专题(一):快速理解ASCII、Unicode、GBK和UTF-8

    本文由阮一峰(ruanyifeng.com)分享,本文收录时有内容修订和排版优化. 1.引言 今天中午,我突然想搞清楚 Unicode 和 UTF-8 之间的关系,就开始查资料. 这个问题比我想象的复 ...

  8. IM跨平台技术学习(七):得物基于Electron开发客服IM桌面端的技术实践

    本文由得物技术团队Uni分享,即时通讯网收录时有内容修订和排版优化. 一.引言 本文要分享的是得物技术团队基于Electron开发客服IM桌面端的技术实践过程,内容包括桌面技术选型.Electron的 ...

  9. 从零开始的Python世界生活——语法基础先导篇(Python小白零基础光速入门上手)

    从零开始的Python世界生活--语法基础先导篇(Python小白零基础光速入门上手) 1. 准备阶段 1.1 下载并安装Python 1.1.1 下载步骤: 访问Python官方网站:点击这里下载P ...

  10. Redis 源码简洁剖析 01 - 环境配置

    fork Redis 源码 在 GitHub 上找到并 fork Redis 源码 https://github.com/redis/redis,然后在本地 clone 自己 fork 出来的源码项目 ...