使用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. appium如何获取到APP的启动activity

    方法一: adb shell monkey -p 包名 -v -v -v 1 方法二: aapt dump bading apk所在路径\apk名字(或者直接把apk拖进命令行) 运行后的结果中以下两 ...

  2. 借助 Flutter 跨平台特性连接 10 亿玩家 | Flutter 开发者故事

    由光子工作室及 Krafton 联合研发的 PUBG MOBILE 依然保持着极高的人气,目前全球有 10 亿玩家,日活跃 5,000 万 (不包括中国大陆地区).从游戏策划伊始,团队就打算为各个平台 ...

  3. 一把梭:REST API 全用 POST(转载)

    一把梭:REST API 全用 POST(转载) 原文链接: https://coolshell.cn/articles/22173.html 写这篇文章的原因主要还是因为V2EX上的这个贴子,这个贴 ...

  4. 力扣---511. 游戏玩法分析 I

    活动表 Activity: +--------------+---------+| Column Name  | Type    |+--------------+---------+| player ...

  5. Eureka 注册中心和服务提供者

    什么是Eureka组件 spring cloud Eureka ,提供服务注册和服务发现的功能. 一:spring cloud Eureka Eureka Server 服务端 Eureka Clie ...

  6. React Hooks的理解,React Hooks有哪些,解决了什么问题

    一.是什么 Hook 是 React 16.8 的新增特性.它可以让你在不编写 class 的情况下使用 state 以及其他的 React 特性 至于为什么引入hook,官方给出的动机是解决长时间使 ...

  7. 【KAWAKO】在windows上用CMake和MinGW编译c++工程

    目录 安装CMake 安装MinGW 编写CMakeLists.txt 编译一条龙 安装CMake 在网上随便找个教程照着安装就行了,不再赘述. 安装MinGW 参考这篇博客.从MinGW官网下载的安 ...

  8. scrapy的pipline的不同操作

    针对json文件 import json import os class SpyOppoPipeline: def __init__(self): self.file = open('曹姐.json' ...

  9. MapboxGL基础

    1. 概述 Mapbox GL 是一套开源库,用于在 Web.移动和桌面应用程序中嵌入可自定义且响应迅速的客户端地图.Mapbox GL 贴图以高帧速率呈现.缩写"GL"来自行业标 ...

  10. windows pwn(一)

    前言 前几天因为看CS shellcode装了一个win10虚拟机,然后正好因为逆向课老师要装一系列工具.于是就想起来之前一直想看的windows pwn,就顺便装了一下相关工具并且入门了一下. 工具 ...