本篇文章来源于官方文档,是我学习后的总结。
本篇文章的思路如下
1. 什么是stack
2. 怎么具体使用stack
什么是stack
stack就是一群共享依赖的service集体
就像一个公司,是由各个部门组成的,公司呢就是那个stack,各个部门呢就是那些service
怎么具体使用stack
首先stack
是service的组合
,那么你就应该能想到,搞定service就是搞定stack,具体在哪里操作呢,就是在yml
文件里面啊,里面不是有很多层级么,比如services,web这些,web就叫做service,继续添加service,那么就可以基本上说是个栈了。
这里做两个实例,一是添加可视化服务
,二是添加网站访客计数服务
,第一个用官方镜像visualizer
,第二个用我们之前在requirements.txt
里面写到的redis
。
好的,让我们开始
改写你的yml
文件,在 原有web服务的下方,填下如下内容,你看名字就懂了,还是那句老话,注意缩进
visualizer:
image: dockersamples/visualizer:stable
ports:
- "8080:8080"
volumes:
- "/var/run/docker.sock:/var/run/docker.sock"
deploy:
placement:
constraints: [node.role == manager]
networks:
- webnet
redis:
image: redis
ports:
- "6379:6379"
volumes:
- ./data:/data
deploy:
placement:
constraints: [node.role == manager]
networks:
- webnet
然后你需要执行以下命令,其实都是以前说过的,比如初始化集群做鸡头,然后部署服务,就是这样
记得在你的docker-compose.yml文件夹中
执行
mkdir ./data # 这个文件夹是给redis放数据文件的
docker swarm init
docker stack deploy -c docker-compose.yml getstartedlab
然后你就可以访问了,注意ip和端口,你要根据自己的机子做调整
可视化访问
计数服务
网页结果,注意visits
本文完
网友评论