使用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可以添加镜像仓库,可以自定义(如阿里云的免费镜像仓库)也可以选择一些官方仓库,

最新文章

  1. mysql 截取身份证出生日期
  2. HTML中超出文本使用省略号替代的CSS样式
  3. Oracle 数据导入导出
  4. iOS和Android的app界面设计规范(转)
  5. nyoj-204
  6. paip.语义相关是否可在 哈米 的语义分析中应用
  7. 56. 2种方法判断二叉树是不是平衡二叉树[is balanced tree]
  8. 在windows2003系统上安装两个版本的oracle
  9. ajax数据保存及解析
  10. Linux Shell编程(28)——进程替换
  11. VR全景加盟-全景智慧城市携万千创业者决战BAT
  12. java Io流中FileInputStream和BufferedInputStream的速度比较
  13. Java代码操作SVN
  14. ●UVa 1589 Xiangqi(模拟)
  15. List集合学习总结
  16. 遍历其 interator
  17. 【三分】light bulb(zoj3203)
  18. OpenStack基础知识
  19. ezmorph将一种对象转换成另外一种对象
  20. 用于创建和管理 Azure 虚拟机的常用 PowerShell 命令

热门文章

  1. JSP第十一次作业
  2. JSP第七次作业
  3. Listary 文件搜索工具
  4. 5.安装&卸载子应用 投票
  5. [代码审计基础 15]phpmcs_v9.6 rce
  6. leaflet动态加载/手动绘制(圆、多边形)demo
  7. asp输入框input通用输入限制
  8. 手机在线编程软件Anycodes
  9. Eureka服务治理
  10. 第四周作业-N67044-张铭扬