Docker:Swarm + Stack 一站式部署容器集群

本文介绍了如何使用Docker Swarm和Stack进行跨主机的容器集群部署,通过设置集群、创建Compose文件,实现了Fiware组件的分布式部署。详细步骤包括集群搭建、节点操作、Stack部署的概念及配置,以及Docker管理工具Protainer.io的使用。
摘要由CSDN通过智能技术生成

Docker:Swarm + Stack 一站式部署容器集群


概述

Docker将应用沙盒化,将程序的运行与主机的环境隔离开,本身是十分适合进行应用程序的堆砌、组合、互动的。

新推出的(还算新吧)swarm功能将不同的docker容器集成为管理节点-工作节点的集群模式,建立联系的同时也可以分配计算资源,实现以docker容器为单元的并行任务。

既然是集群式的协作,那一个个部署节点就显得太过笨拙了。

所幸,docker的stack功能能够以swarm网络为基础,将不同主机的docker容器以service的形式一步到位。

结合先前做过的fiware组件的docker部署,本文将说明如何跨主机搭建swarm集群,利用搭建的swarm集群创建stack服务,实现fiware组件的跨主机一站式部署。

fiware只是作为一个测试的对象,并不是本文的重点。本文的重点在于如何将一般的docker命令行式的部署转化为yml文件形式的部署,以及一些命令行中的参数如何在yml文件中进行配置。(看不出踩了坑的踩坑记录)


要求

  • 2台linux系统的主机,均已安装Docker engine
  • 了解基本的docker操作。

Docker的中文资料可以看这篇但是强烈推荐去docker
官网
看英文版的教程,因为以我看过来的情况,中文教程普遍是官方文档的翻译,而且常有翻译不当,内容缺失,更新不及时等问题。(不是在黑上面贴的那个中文教程,那个还是可以的)


Docker Swarm集群

集群搭建

已经准备的两台主机ip分别为192.168.12.205 : IoTBroker以及192.168.12.206 : iotdiscovery

创建docker swarm集群

sudo docker swarm init --advertise-addr 192.168.12.206

Swarm initialized: current node (8pg89ccu91qon6j1pf0mjq6jr) is now a manager.
To add a worker to this swarm, run the following command:
docker swarm join –token [token:保护集群,此处人工马赛克] 192.168.12.206:2377
To add a manager to this swarm, run ‘docker swarm join-token manager’ and follow the instructions.

查看一下swarm状态:
sudo docker info
可以找到

swarm:active

说明swarm已被激活
查看节点情况:
sudo docker node ls

ID HOSTNAME STATUS AVAILABILITY MANAGER STATUS
8pg89ccu91qon6j1pf0mjq6jr * iotdiscovery Ready Active Leader

可以看到swarm集群的节点情况,这个集群现在只有一个节点,即206本机,角色为leaderÿ

  • 0
    点赞
  • 14
    收藏
    觉得还不错? 一键收藏
  • 2
    评论
评论 2
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值