docker-swarm轻量集群
使用docker swarm搭建docker轻量集群服务
当前流行的k8s集群搭建无疑是很好的docker集群管理服务,但是对于像我这种仅自己学习的玩家有些过于重量,所以今天使用docker自带的docker swarm搭建一个docker集群环境,本次实验环境为一个管理节点和4个工作节点。
1、安装docker
centOS服务器使用yum安装docker时需要注意,不能使用默认的docker软件,需要换成官方的下载源进行安装 ,使用curl 下载repo源
curl https://download.docker.com/linux/centos/docker-ce.repo -o /etc/yum.repos.d/docker-ce.repo
若提示命令找不到可以使用yum install -y curl安装先,完成后安装docker-ce
yum install docker-ce -y
输入docker -v查看是否安装成功
如图为安装完成

2、搭建docker集群
docker swarm集群的默认连接端口为2377,所以需要开放2377端口
firewall-cmd --zone=public --add-port=2377/tcp --permanent
firewall-cmd --reload
firewall-cmd --list-port
ifconfig
初始化docker集群,输入init命令后会生成2个token,一个是让其他节点加入管理,另一个是加入worker节点;
如图展示加入worker的token,在其他docker服务器执行整条命令即可加入集群

docker swarm init
docker swarm join --token 你的token 你的ip:2377
加入manager可以输入docker swarm join-token manager
docker swarm join-token manager
在管理员节点输入docker node ls可以查看当前集群的构成
docker node ls

3、管理节点安装portainer
portainer是一款管理docker的可视化软件,有免费版和企业版
这里安装免费版就可以,官网:[portainer.io]("Container management software for Docker, Kubernetes & Nomad (portainer.io)"),我们选择基于docker安装
首先创建数据卷
docker volume create portainer_data
运行官方镜像
docker run -d -p 8000:8000 -p 9000:9000 -p 9443:9443 --name portainer --restart=always -v /var/run/docker.sock:/var/run/docker.sock -v portainer_data:/data portainer/portainer-ce:latest

运行时会在docker仓库拉取镜像并运行,https服务访问管理端口为9443端口,http端口为9000端口,可以自行修改对外端口,如这里我改为39443和39000端口,需要外网访问需要开放端口,你的设置是哪个端口就开放那个,还是使用firewalld开放,也可以使用其 他防火墙软件开放。
firewalld-cmd --zone=public --add-port=39443/tcp --permanent
firewalld-cmd --zone=public --add-port=39000/tcp --permanent
firewalld-cmd --reload
如果是阿里云或腾讯云还需要开放对应端口的安全组
浏览器打开 你的ip:39000
设置好账号密码就可以管理你的docker,如下界面选择get local,后续可以管理其他环境docker

在进入管理面板可以部署服务和查看当前的集群环境

可以从仓库拉取镜像执行,在registries可以添加镜像仓库,可以自定义(如阿里云的免费镜像仓库)也可以选择一些官方仓库,

docker-swarm轻量集群的更多相关文章
- Docker Swarm java 服务集群
Docker Swarm java 服务集群 环境1: 系统:Linux Centos 7.4 x64 内核:Linux docker 3.10.0-693.2.2.el7.x86_64 Docker ...
- docker --swarm创建一个集群
如果搭建错误可以强制脱离集群网络: docker swarm leave --force 初始化集群网络管理节点: docker swarm init --advertise-addr 10.101. ...
- 轻量集群管理工具PSSH
PSSH 的意思是 Parallel SSH,并行的SSH,很好理解,PSSH 可以让一条命令在多个服务器上同时执行 这就简化了集群的管理工作,例如想查看一下各台服务器现在的负载状况,就可以通过 PS ...
- 使用docker安装部署Spark集群来训练CNN(含Python实例)
使用docker安装部署Spark集群来训练CNN(含Python实例) http://blog.csdn.net/cyh_24/article/details/49683221 实验室有4台神服务器 ...
- Docker 部署 RocketMQ Dledger 集群模式( 版本v4.7.0)
文章转载自:http://www.mydlq.club/article/97/ 系统环境: 系统版本:CentOS 7.8 RocketMQ 版本:4.7.0 Docker 版本:19.03.13 一 ...
- Docker 容器部署 Consul 集群
Docker 容器部署 Consul 集群 一.docker安装与启动1.1安装docker[root@localhost /]# yum -y install docker-io 1.2更改配置文件 ...
- 轻松搭建docker应用的mesos集群
7条命令在docker中部署Mesos集群 所有使用的Docker容器构建文件是有也.您可以在本地构建每个容器或只使用位于Docker Hub预构建的容器.下面的命令会自动下载所需的预建的容器为您服务 ...
- 【ELK】【docker】6.Elasticsearch 集群启动多节点 + 解决ES节点集群状态为yellow
本章其实是ELK第二章的插入章节. 本章ES集群的多节点是docker启动在同一个虚拟机上 ====================================================== ...
- 宝塔面板 + Rancher + 阿里云镜像仓库 + Docker + Kubernetes,添加集群、部署 web 应用
目录 一,安装宝塔面板(V 6.8) 二,使用宝塔安装 Docker,配置阿里云容器服务 三,安装 Rancher (Server) 四,管理 Rancher.添加集群 五,添加 Rancher 应用 ...
- 手把手教你用Docker部署一个MongoDB集群
MongoDB是一个介于关系数据库和非关系数据库之间的产品,是非关系数据库当中最像关系数据库的.支持类似于面向对象的查询语言,几乎可以实现类似关系数据库单表查询的绝大部分功能,而且还支持对数据建立索引 ...
随机推荐
- redis-07主从复制
转 https://www.jianshu.com/p/06ab9daf921d https://www.jianshu.com/p/06ab9daf921d 1 基本说明 我们所说的主从复制,主机数 ...
- Seleniumweb自动化测试01
1.selenium简介 selenium是python的一个web第三方包,主要使用来做web自动化测试的 环境要求: ①.要有谷歌浏览器 ②.下载谷歌浏览器的驱动chromedriver(驱动我们 ...
- EPICS Archiver Appliance在Centos7的定制部署
EPICS Archiver Appliance的定制部署1 EPICS Archiver Appliance的定制部署2 上面两篇是在Centos8下成功,后来又想在Centos7下跑成功,按上面的 ...
- 【KAWAKO】MNN-1.2.0版本交叉编译遇到的错误与解决方法
目录 在使用gcc-linaro-7.5.0-aarch64-linux-gnu.gcc-linaro-6.3.1-aarch64-linux-gnu交叉编译链对MNN1.2.0进行交叉编译的过程中, ...
- 零基础解读ChatGPT:对人类未来工作是威胁还是帮助?
摘要:火到现在的ChatGPT到底是什么?它背后有哪些技术?对于我们的工作和生活会有啥影响?快来一起了解吧~ 本文分享自华为云社区<零基础解读ChatGPT:对人类未来工作是威胁还是帮助?> ...
- 【10】java之final关键字
1.使用final 定义的变量就变成了常量,常量必须在定义的时候就设置好内容且不能修改. public static final 声明的就是全局常量. public static final Stri ...
- latex table \ref{}编号混乱
解决:\lable{}要紧放在\caption{}下 点击查看代码 \begin{table} ... \caption{Table A} \label{TableA} ... \end{table}
- vue项目中禁用浏览器缓存配置案例
项目发布新版本,部署线上后用户浏览器需要清理缓存 1.public文件夹中修改 index.html文件meta配置 <meta http-equiv="Cache-Control&q ...
- 关于fetch请求中非表单模式(form)转化为form格式请求成功问题
首先证实一下接口请求可以成功,postman掉通 2.证实接口可以掉通之后,来发现问题 发现根本不是form表单格式3.去操作实现form表单格式 发现form格式貌似已经转换,但是请求还是不对 最后 ...
- Markdown格式文档图片设置居右
在Typora中设置图片居右 <p><img src="[图片路径]" align="right" /></p> left ...