前言
单机模式下,我们可以使用 Docker Compose 来编排多个服务,而在上一篇文章中介绍的 Docker Swarm
只能实现对单个服务的简单部署。于是就引出了本文的主角 Docker Stack
,通过 Docker Stack
我们只需对已有的 docker-compose.yml
配置文件稍加改造就可以完成 Docker 集群环境下的多服务编排。
正文
首先创建一个 docker-compose.yml 文件,使用 Docker Compose v3 语法
内容比较简单,一个有四个实例的nginx服务,两个只部署在 manager 节点上的监控工具服务:portainer 和
部署服务
docker stack deploy -c docker-compose.yml stack-demo
部署成功之后查看详情
$ docker stack services stack-demo ID NAME MODE REPLICAS IMAGE PORTS4yb35ywqvo49 stack-demo_portainer replicated 1/1 portainer/portainer:latest *:9000->9000/tcp mzd2volqug28 stack-demo_nginx replicated 4/4 nginx:alpine *:80->80/tcp r0zlzpp3wujg stack-demo_visualizer replicated 1/1 dockersamples/visualizer:latest *:9001->8080/tcp
在浏览器中访问监控工具,对应端口如下:
portainer —— ip:9000visualizer —— ip:9001
注意:如果有多个 manager 节点,portainer 和 visualizer 可能分别部署在两台机器上,所以ip可能会不一样。
修改 docker-compose.yml 文件后重新部署即可完成对修改内容的更新
docker stack deploy -c docker-compose.yml stack-demo
相关命令
命令 描述 docker stack deploy 部署新的堆栈或更新现有堆栈 docker stack ls 列出现有堆栈 docker stack ps 列出堆栈中的任务 docker stack rm 删除一个或多个堆栈 docker stack services 列出堆栈中的服务
作者:anyesu
链接:https://www.jianshu.com/p/1db6f0150fdb
共同學習,寫下你的評論
評論加載中...
作者其他優(yōu)質文章