只需一步,快速开始
主题 974|帖子 974|积分 2922
我们上面使用swarm部署服务,单个服务还好,如果很多个服务怎么来解决呢,这里就用到了Docker Stack管理服务。
首先创建一个 docker-compose.yml 文件,使用 Docker Compose v3 语法 我们把我们原来单机版的docker-compose.yml改造以下
接下来我们进一步了解deploy关键字新增的内容
因为我们的数据库节点只能部署在数据节点,因为需要挂载本地的数据文件以及数据库文件,所有需要使用标签进行节点约束
这里的 'node.labels.role == data含义就是将当前mysql节点约束在标签名字是role,并且值是data的数据节点,更多操作请参考下文
使用docker stack deploy 命令部署
这里我们指定了docker-compose文件,并把stack命名为 learn-docker-test。
可以通过docker stack ls命令查看集群部署情况,会列出 Swarm 集群中的全部 Stack,包括每个 Stack 拥有多少服务
访问nacos服务,发现我们的服务都已经注册
访问服务接口测试
docker service upadte 可以对swarm服务进行升级
docker stack ls可以查看部署的服务列表
docker stack rm stack名称命令会删除整个stack集群,注意移除操作执行前并不会进行二次确认。
Portainer是一个可视化的容器镜像的图形管理工具,利用Portainer可以轻松构建,管理和维护Docker环境。 而且完全免费,基于容器化的安装方式,方便高效部署。
使用swarm集群安装Portainer,用Portainer来管理swarm集群
默认访问接口是9000端口,可以通过浏览器进行访问,首次登陆需要注册用户,给admin用户设置密码
点击home节点,当前这个节点就是我们的swarm集群
点进去就可以看到我们能操作的菜单了
点击swarm菜单就可以看到swarm节点了
我们要将我们的服务交给portainer管理
我们MySQL需要部署在数据节点,我们添加节点标签
在swarm管理节点,点击节点信息进入下面详情页面进行配置标签
因为我们的节点需要一个共有的overlay网络,我们需要配置下,在network节点点击添加
在添加页面选择overlay网络类型,名字叫做learn-docker-network
然后点击创建就可以
因为我们的微服务需要从我们自己的harbor镜像仓库拉取,需要将我们的仓库配置
在仓库节点填写我们的镜像地址就可以https://manager-hongbaoyu-java.itheima.net:8443
在stack界面点击stack菜单进行添加stck任务
在stack管理界面将我们的docker-compose.yml复制进我们的stack界面
点击创建节点信息就可以,等待部署就可以
稍等下节点就部署完成了
点击进去就可以单到节点详情了
进入swarm管理界面
点击Go to cluster visualizer查看服务部署情况
本文由传智教育博学谷教研团队发布。 如果本文对您有帮助,欢迎关注和点赞;如果您有任何建议也可留言评论或私信,您的支持是我坚持创作的动力。 转载请注明出处!
您需要 登录 才可以下载或查看,没有账号?立即注册
使用道具 举报
本版积分规则 发表回复 回帖并转播 回帖后跳转到最后一页
笑看天下无敌手