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挂了,整个项目就挂了.于是乎,想到了多节点集群的方式来使用,就开始折腾着怎么去搭建这个集群.在网上 ...
随机推荐
- .NET 单文件执行程序拆解器 SingleFileExtractor
.NET 单文件执行程序拆解器 SingleFileExtractor .NET 现在支持将程序打包为单文件格式,这方便了部署,问题是,我们不能直接看到程序中使用了哪些 DLL,更不能简单地通过查看文 ...
- django介绍及基本使用
目录 一.python主流web框架 二.django简介 1.版本问题 2.运行django注意事项 三.django基本使用 1.下载模块 2.验证 3.常见命令 4.pycharm自动创建dja ...
- 聊一聊 C#线程池 的线程动态注入 (上)
一:背景 1. 讲故事 在线程饥饿的场景中,我们首先要了解的就是线程是如何动态注入的?其实现如今的ThreadPool内部的实现逻辑非常复杂,而且随着版本的迭代内部逻辑也在不断的变化,有时候也没必要详 ...
- Qt音视频开发12-easyplayer内核
一.前言 在视频监控行业经常看到两个厂家广告打得比较厉害,一个是青犀视频对应easyplayer,一个是大牛直播,两个最初都是sdk免费,并提供调用示例源码,后面大牛直播的sdk以及示例都无法运行,目 ...
- Qt音视频开发06-海康sdk内核linux客户端
一.前言 海康sdk的示例在官方是提供了的,但是无论UI还是交互简直是宇宙无敌的垃圾,猜测应该是初学者编写的,估计练手用的,所以老早就想把这个linux支持集成到自己的示例中,既然已经支持了windo ...
- Qt通用方法及类库2
函数名 //初始化数据库 static void initDb(const QString &dbName); //初始化文件,不存在则拷贝 static void initFile(cons ...
- 字符编码技术专题(一):快速理解ASCII、Unicode、GBK和UTF-8
本文由阮一峰(ruanyifeng.com)分享,本文收录时有内容修订和排版优化. 1.引言 今天中午,我突然想搞清楚 Unicode 和 UTF-8 之间的关系,就开始查资料. 这个问题比我想象的复 ...
- IM跨平台技术学习(七):得物基于Electron开发客服IM桌面端的技术实践
本文由得物技术团队Uni分享,即时通讯网收录时有内容修订和排版优化. 一.引言 本文要分享的是得物技术团队基于Electron开发客服IM桌面端的技术实践过程,内容包括桌面技术选型.Electron的 ...
- 从零开始的Python世界生活——语法基础先导篇(Python小白零基础光速入门上手)
从零开始的Python世界生活--语法基础先导篇(Python小白零基础光速入门上手) 1. 准备阶段 1.1 下载并安装Python 1.1.1 下载步骤: 访问Python官方网站:点击这里下载P ...
- Redis 源码简洁剖析 01 - 环境配置
fork Redis 源码 在 GitHub 上找到并 fork Redis 源码 https://github.com/redis/redis,然后在本地 clone 自己 fork 出来的源码项目 ...