docker - [16] Swarm集群搭建
以下是购买的阿里云服务器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 docker2、卸载docker ce:
yum -y remove docker-ce docker-ce-cli containerd.io3、删除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集群搭建的更多相关文章
- Docker系列之swarm集群搭建
学习Docker很久了,今天分享一下Docker的swarm集群的搭建过程很简单 首先第一步是 每台机器上面都要安装docker 本人使用的是centos7操作系统,使用3太虚拟机,3太虚拟机必须网络 ...
- 基于zookeeper的Swarm集群搭建
简介 Swarm:docker原生的集群管理工具,将一组docker主机作为一个虚拟的docker主机来管理. 对客户端而言,Swarm集群就像是另一台普通的docker主机. Swarm集群中的每台 ...
- 分享:docker swarm集群搭建
[Y_H]实践原创 三台虚拟机:1台centOS , 2台ubuntu. 网上有用docker-machine创建虚拟机做的例子. 这里直接用VMware创建这三台虚拟机,然后用xshell连 ...
- Docker swarm集群搭建教程
一.什么是Swarm Swarm这个项目名称特别贴切.在Wiki的解释中,Swarm behavior是指动物的群集行为.比如我们常见的蜂群,鱼群,秋天往南飞的雁群都可以称作Swarm behavio ...
- docker swarm集群搭建及使用Portainer、shipyard
一.规划 1.swarm01作为manager节点,swarm02和swarm03作为worker节点. # cat /etc/hosts 127.0.0.1 localhost 192.168. ...
- docker swarm集群搭建
本文来自我的github pages博客http://galengao.github.io/ 即www.gaohuirong.cn 摘要: swarm是docker原生的集群管理软件,与kuberne ...
- docker swarm集群搭建以及使用滚动更新
基础环境,三台虚拟机 172.17.3.70 172.17.3.71 172.17.3.72 系统配置:centos 7,关闭selinux 需要优化的基础配置: [root@sw1 ~]# vim ...
- DOCKER 学习笔记8 Docker Swarm 集群搭建
前言 在前面的文章中,已经介绍如何在本地通过Docker Machine 创建虚拟Docker 主机,以及也可以在本地Windows 创建虚拟主机,也是可以使用的.这一节,我们将继续学习 Docker ...
- Docker下ETCD集群搭建
搭建集群之前首先准备两台安装了CentOS 7的主机,并在其上安装好Docker. Master 10.100.97.46 Node 10.100.97.64 ETCD集群搭建有三种方式,分别是Sta ...
- docker实验--redis集群搭建
背景介绍: 我经常在做一些小项目的时候,采用了Redis来做缓存,但是都是基于单节点的,一旦redis挂了,整个项目就挂了.于是乎,想到了多节点集群的方式来使用,就开始折腾着怎么去搭建这个集群.在网上 ...
随机推荐
- 鸿蒙NEXT开发案例:颜文字搜索器
[引言] 本文将介绍一个名为"颜文字搜索器"的开发案例,该应用是基于鸿蒙NEXT平台构建的,旨在帮助用户快速查找和使用各种风格的表情符号.通过本案例的学习,读者可以了解如何在鸿蒙平 ...
- 技术实践|Hive数据迁移干货分享
导语 Hive是基于Hadoop构建的一套数据仓库分析系统,可以将结构化的数据文件映射为一张数据库表,并提供完整的SQL查询功能.它的优点是可以通过类SQL语句快速实现简单的MapReduce统计,不 ...
- web应用模式、API接口、接口测试工具postman、restful规范
目录 一.web 应用模式 二.API接口 API概念 三.接口测试工具postman postman介绍 postman下载与使用 四.如何在浏览器中测试 五.restful规范(重要,不难) 概念 ...
- 【C#】【FFmpeg】获取电脑可用音视频设备并输出到下拉列表框
[重要]不要边看文本边操作,本文由错误纠正,先看完一遍再说. 要使用的FFmpeg命令 ffmpeg -list_devices true -f dshow -i dummy 会输出的信息 通过正则取 ...
- go编译可以指定os和arch
是的,Go 编译器支持通过环境变量来指定目标操作系统(OS)和架构(Arch).这允许你为不同的平台交叉编译 Go 程序.你可以使用 GOOS 和 GOARCH 环境变量来指定目标系统. 例如,如果你 ...
- JS-正则表达式(基本语法、test、exec、\d\D\w\W\s\S .)
二,正则表达式 1,什么是正则表达式 是一种规范,对字符串格式进行验证的规范 不用自己写,常用的正则表达式,网上都有,只要会使用就可以 2,定义方法 字面量 var reg = /正则表达式/ 常用方 ...
- [转]OpenLayers基于Vue项目的搭建
主要内容上次介绍了什么是OpenLayers以及其他的可以GIS工具,这次说说如何基于Vue搭建OpenLayers的项目,并且实现地图的加载. 一.vue项目搭建1.全局安装vue-cil npm ...
- Python 元类(Meta Class):解密 Python 面向对象编程的幕后推手
在 Python 编程中,我们每天都在和类打交道,但是你是否也和我一样想过:类本身是什么?是谁创建了类?元类(Meta Class)就是用来创建类的"类".今天让我们一起深入理解这 ...
- Verilog6_串行通信协议
一.通信协议概述 1.串行通信与并行通信 串行通信(serial communication):数据通过单根数据线一位一位地传输:成本低但速度慢:适用于远距离传输,用于计算机与外设之间,如UART.\ ...
- Java 中toString方法在枚举中的应用:展示枚举字段信息
在Java编程中,枚举(enum)是一种特殊的数据类型,它允许程序员定义一组固定的常量.枚举类型在Java中非常有用,尤其是在需要表示一组固定选项(如星期.月份.方向等)时.尽管枚举类型在定义时看起来 ...