swarm单机版安装与使用
1.swarm概述
Swarm是一个由Docker研发团队开发的调度工具,可以使用标准的Docker 应用编程接口。主要任务是负责在最合适的主机上启动容器,并且将它们关联起来。
Swarm有三个核心概念:节点、服务和任务。
其中节点是已加入Swarm的Docker引擎的实例,服务是在Worker节点上执行的,任务是在Docker容器中执行的命令。
2. swarm安装
2.1 前置需要:安装Docker
2.1.1 在Ubuntu操作系统下,使用官方安装脚本自动安装
// 使用curl进行docekr容器安装
curl -fsSL https://get.docker.com | bash -s docker --mirror Aliyun
或者使用Ubuntu的软件安装器安装
// 使用Ubuntu的软件安装器进行docekr容器安装
apt install docker -y
apt install docker.io -y
2.1.2 查看安装是否成功
// 查看安装是否成功
docker -v
也可以使用手动安装的方式,但限于篇幅,在此并不详细讲述。
2.2 swarm单机版安装
2.2.1 拉取swarm镜像
// 拉取swarm镜像
docker pull swarm
如果出现网络访问超时错误,可以再次尝试或者更换软件下载源。出现下面显示信息,则拉取成功。
2.2.2 初始化 swarm 集群
进行初始化的这台机器,就是集群的管理节点,在单机环境下,集群中只有一个节点,即管理节点即为操作的主机。
//初始化swarm集群
docker swarm init
出现下面显示信息,则初始化成功
其中,docker swarm join --token SWMTKN-1-5xgwyps9t92vu2766k11a5so9rnidiv4v8dsli2ag882o26p25-85eurhgbc1hawehiz8cekekvz 192.168.174.132:2377
所分配的token与IP值,在管理节点不变的情况下进行多swarm集群管理时,可以用于工作节点的创建添加。
2.2.3 查看swarm集群信息
进入管理节点,执行:docker info 可以查看当前集群的信息。
//查看swarm集群信息
docker info
通过红框标识,可以知道当前运行的集群中,有一个节点,且该节点还是一个管理节点。
2.2.4 swarm部署服务流程
1)创建并部署一个service
// 创建并部署一个service,命名为helloworld
docker service create --replicas 1 --name helloworld alpine ping docker.com
参数解释:
--replicas:service运行的实例个数
--name: 为service命名
alpine ping docker.com: 设置此service在Alpine Linux容器中,执行ping http://docker.com任务
出现上述情况的原因,可能是由于虚拟机设置运行内存过小,故在执行完命令后服务未立即运行。
但在查询服务运行情况后,发现该服务已经在运行。
// 确认服务是否创建成功
docker service ls
由此可见服务确实创建成功。
//查看当前node上执行的task
docker ps
2)删除service与swarm退出
//删除service
docker service rm helloworld
//查看是否删除成功
docker service ps helloworld
//强制退出swarm
docker swarm leave --force