这篇文章主要介绍Docker Swarm是什么意思,文中介绍的非常详细,具有一定的参考价值,感兴趣的小伙伴们一定要看完!
Docker Swarm是Docker官方项目之一,是使用SwarmKit构建的Docker引擎内置的集群管理和编排工具,提供Docker容器集群服务,是Docker官方对容器云生态进行支持的核心方案。使用它,用户可以将多个Docker主机封装为单个大型虚拟Docker主机,快速打造一套容器云平台。
运行Docker的主机可以主动初始化一个Swarm集群或者加入一个已经存在的Swarm集群,这样这个运行Docker的主机就成为一个Swarm集群的节点 node。
节点分为管理节点 manager 和工作节点 worker
管理节点用于Swarm集群的管理,docker swarm命令基本只能在管理节点执行
工作节点是任务执行节点,管理节点将服务 service 下发到工作节点执行
任务 task 是Swarm中最小的调度单位,目前来说就是一个单一的容器
服务 service 是指一组任务的集合,服务定义了任务的属性
服务有两种模式:
replicated services 按照一定规则在各个节点上运行指定个数的任务
global services 每个工作节点上运行一个任务
这两种模式可以通过docker service create 的 —mode参数指定
在Docker服务器上使用 docker swarm init 在初始化一个Swarm集群:
docker swarm init --advertise-addr 192.168.xx.xxx
执行docker swarm init命令的节点自动成为管理节点,同时该命令执行后会打印添加工作节点的命令,将该命令拷贝到工作节点执行后就可以将工作节点添加到Swarm集群中。如果忘记了添加工作节点的命令可以通过 “docker swarm join-token worker” 进行查看。在添加工作节点时可能会添加失败,可以先查看下防火墙,Swarm节点之间通过TCP/UDP进行通信,要确保端口2377,7946,4789是可以通信的,测试环境可以关闭防火墙,重启Docker服务。
这样一个管理节点,两个工作节点的Swarm最小集群就搭建完毕
使用docker service命令可以管理Swarm集群中的服务,该命令只能在管理节点运行。
在Swarm集群中创建一个nginx服务,服务创建前确保每个节点:
docker service create --replicas 3 -p 80:80 --name nginx nginx:latest
使用 “docker service ls ” 和 “docker service ps ”命令可以查看运行的服务
服务正常启动后输入任意节点的IP都可以访问nginx服务
portainer是Docker图形化管理工具,提供了详细的状态显示面板,应用模板快速部署,容器/镜像/数据卷等的基本操作,事件日志的查看显示,Swarm集群和服务的集中管理,以及用户管理等功能
运行portainer:
# 拉取镜像
docker pull portainer/portainer
# 运行
docker run -d -p 9000:9000 \
--name portainer --restart=always \
-v /var/run/docker.sock:/var/run/docker.sock \
portainer/portainer
portainer容器启动后就可以在浏览访问,首次登录需要设置admin用户密码
portainer容器运行在Swarm管理节点上,选择local连接后就进入以下页面
点击local后进入详细页面,包含了主机上Docker的镜像,容器,数据卷,Swarm集群信息等
Swarm集群信息
服务信息,在这里可以进行服务的创建,扩容,删除等操作
以上是“Docker Swarm是什么意思”这篇文章的所有内容,感谢各位的阅读!希望分享的内容对大家有帮助,更多相关知识,欢迎关注亿速云行业资讯频道!
免责声明:本站发布的内容(图片、视频和文字)以原创、转载和分享为主,文章观点不代表本网站立场,如果涉及侵权请联系站长邮箱:is@yisu.com进行举报,并提供相关证据,一经查实,将立刻删除涉嫌侵权内容。