以下是购买的阿里云服务器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. d2js + activiti 备忘

    很久没玩 activiti 了再摸起来都有点陌生了,梳理了一下要点如下: 1. d2js 作为业务端发起流程. d2js.exports.vocationRequest = d2js.vocation ...

  2. 加密Python项目代码之把Django或Flask项目打包成exe

    目录 python代码仿泄露方案 -方案一:启动起来,把源代码删除 -方案二:pipinstaller 打包成可执行文件 -方案三:做到docker镜像中--->运行容器--->-e pa ...

  3. Qt数据库应用13-通用数据库分页

    一.前言 数据库分页展示,在所有的涉及到数据库记录的项目中都是需要的,除了简单的设备信息表.用户信息表这种很少几条几十条数据量的表除外,其余的日志记录表等都需要分页展示数据,少量的数据可以滚动条下拉查 ...

  4. Qt编写安防视频监控系统28-摄像机点位

    一.前言 摄像机点位的功能主要是在图片地图和在线离线地图上设置对应摄像机的位置,然后双击可以实时预览对应摄像机的视频,在图片地图上拖动摄像机图标到对应位置,系统会自动保存位置信息,在网页地图上的摄像机 ...

  5. 模拟数据生成器mock.js入门

    1.在某一指定目录下,按下shift+鼠标右键,,点击"在此处打开Powershell窗口(S)",启动命令行窗口.如下图: 2.在窗口中输入以下命令以便创建项目:vue crea ...

  6. SSM或Spring Boot开发中,mapper包中的mapper.xml没有编译到targger中的解决办法

    SSM或Spring Boot开发中,mapper包中的mapper.xml没有编译到targger中的解决办法 在pom文件中加入如下配置: <resources> <!-- 编译 ...

  7. SpringBoot原理深入及源码剖析(二) 自定义Starter及SpringBoot执行原理

    自定义Starter SpringBoot starter机制 SpringBoot由众多starter组成(一系列的自动化配置的starter插件),SpringBoot之所以流行,也是因为star ...

  8. 在Ubuntu WSL2里配置GDAL Docker环境

    在Ubuntu WSL2里配置GDAL Docker环境 启用systemd # Ubuntu中执行 echo -e "[boot]\nsystemd=true" | sudo t ...

  9. [LC793]阶乘函数后 K 个零

    题目描述 f(x) 是 x! 末尾是 0 的数量.(回想一下 x! = 1 * 2 * 3 * ... * x,且 0! = 1 ) 例如, f(3) = 0 ,因为 3! = 6 的末尾没有 0 : ...

  10. Vue + Axios 请求接口方法与传参详解

    使用Vue的脚手架搭建的前端项目,通常都使用Axios封装的接口请求,项目中引入的方式不做多介绍,本文主要介绍接口调用与不同形式的传参方法. 一.Get请求: Get请求比较简单,通常就是将参数拼接到 ...