使用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轻量集群的更多相关文章

  1. Docker Swarm java 服务集群

    Docker Swarm java 服务集群 环境1: 系统:Linux Centos 7.4 x64 内核:Linux docker 3.10.0-693.2.2.el7.x86_64 Docker ...

  2. docker --swarm创建一个集群

    如果搭建错误可以强制脱离集群网络: docker swarm leave --force 初始化集群网络管理节点: docker swarm init --advertise-addr 10.101. ...

  3. 轻量集群管理工具PSSH

    PSSH 的意思是 Parallel SSH,并行的SSH,很好理解,PSSH 可以让一条命令在多个服务器上同时执行 这就简化了集群的管理工作,例如想查看一下各台服务器现在的负载状况,就可以通过 PS ...

  4. 使用docker安装部署Spark集群来训练CNN(含Python实例)

    使用docker安装部署Spark集群来训练CNN(含Python实例) http://blog.csdn.net/cyh_24/article/details/49683221 实验室有4台神服务器 ...

  5. Docker 部署 RocketMQ Dledger 集群模式( 版本v4.7.0)

    文章转载自:http://www.mydlq.club/article/97/ 系统环境: 系统版本:CentOS 7.8 RocketMQ 版本:4.7.0 Docker 版本:19.03.13 一 ...

  6. Docker 容器部署 Consul 集群

    Docker 容器部署 Consul 集群 一.docker安装与启动1.1安装docker[root@localhost /]# yum -y install docker-io 1.2更改配置文件 ...

  7. 轻松搭建docker应用的mesos集群

    7条命令在docker中部署Mesos集群 所有使用的Docker容器构建文件是有也.您可以在本地构建每个容器或只使用位于Docker Hub预构建的容器.下面的命令会自动下载所需的预建的容器为您服务 ...

  8. 【ELK】【docker】6.Elasticsearch 集群启动多节点 + 解决ES节点集群状态为yellow

    本章其实是ELK第二章的插入章节. 本章ES集群的多节点是docker启动在同一个虚拟机上 ====================================================== ...

  9. 宝塔面板 + Rancher + 阿里云镜像仓库 + Docker + Kubernetes,添加集群、部署 web 应用

    目录 一,安装宝塔面板(V 6.8) 二,使用宝塔安装 Docker,配置阿里云容器服务 三,安装 Rancher (Server) 四,管理 Rancher.添加集群 五,添加 Rancher 应用 ...

  10. 手把手教你用Docker部署一个MongoDB集群

    MongoDB是一个介于关系数据库和非关系数据库之间的产品,是非关系数据库当中最像关系数据库的.支持类似于面向对象的查询语言,几乎可以实现类似关系数据库单表查询的绝大部分功能,而且还支持对数据建立索引 ...

随机推荐

  1. 使用pycharm打开sqlite的问题

    目录 问题:有同学在sqlite数据库文件执行数据库迁移完成前,点开了他,导致sqlite数据库被pycharm当成文本文件打开了,并且不会改了. 其实sqlite文件和电脑中的其他文件(xx.mp4 ...

  2. CesiumJS PrimitiveAPI 高级着色入门 - 从参数化几何与 Fabric 材质到着色器 - 上篇

    目录 0. 基础 0.1. 坐标系基础 0.2. 合并批次 1. 参数化几何 1.1. 几何类清单 1.2. 举例 1.3. 纯手搓几何 1.4. *子线程异步生成几何 2. 使用材质 2.1. 外观 ...

  3. springboot返回数据null参数设为空字符串或空数组

    package com.ruoyi.framework.config.ResponseVoConfig.WebConfig; /** * @Classname MyJsonMapper * @Desc ...

  4. 多人协同开发,git workflow 提高团队协作能力

    集美们,还在为工作多年而只会使用简单的git指令被质疑是假简历而烦恼吗. Don't worry! || 今天给带来大家一个git攻略指南.成为大手子,参与开源大项目指日可待‍‍‍. . Git 这是 ...

  5. soucrce insight4 使用

    1.快捷键 F8 高亮 ctrl + 左击 进入函数定义或变量声明处 Alt + , 后退 Alt + . 前进 ctrl + g 跳到固定行 shift + F3 选中一个单词按下后,可按F3,F4 ...

  6. 有趣的python库-pillow

    pillow-图像处理 安装时不再是PIL,是pillow哦! 烟花 pillow + tkinter实现 import tkinter as tk from PIL import Image, Im ...

  7. React Native学习笔记----React Native简介与环境安装

    React Native 的基础是React, 是在 web 端非常流行的开源 UI 框架.要想掌握 React Native,先了解 React 框架本身是非常有帮助的. 一.什么是React Na ...

  8. Vulhub 漏洞学习之:Dubbo

    Vulhub 漏洞学习之:Dubbo 目录 Vulhub 漏洞学习之:Dubbo 1 Aapche Dubbo Java反序列化漏洞(CVE-2019-17564) 1.1 环境安装 1.2 漏洞利用 ...

  9. .net webapi+jwt demo

    一.新建.net   webapi程序 二.nuget包搜索jwt,点击安装 三.在model文件夹下建立三个主要类: public class AuthInfo    {        /// &l ...

  10. Socket.io + Knex 实现私聊聊天室

    前言 本文只介绍实现的核心代码,目的是记录和分享知识.若感兴趣可以往下看,在文章最后贴上了仓库地址.前端使用 Vite + Vue3:后端使用 Knex + Express. Room 的概念 私密 ...