本篇文章來源于官方文檔,是我學(xué)習(xí)后的總結(jié)。
本篇文章的思路如下
1. 什么是stack
2. 怎么具體使用stack
什么是stack
stack就是一群共享依賴的service集體
就像一個公司,是由各個部門組成的搏屑,公司呢就是那個stack,各個部門呢就是那些service
怎么具體使用stack
首先stack
是service的組合
粉楚,那么你就應(yīng)該能想到辣恋,搞定service就是搞定stack,具體在哪里操作呢模软,就是在yml
文件里面啊伟骨,里面不是有很多層級么,比如services燃异,web這些携狭,web就叫做service,繼續(xù)添加service回俐,那么就可以基本上說是個棧了逛腿。
這里做兩個實(shí)例稀并,一是添加可視化服務(wù)
,二是添加網(wǎng)站訪客計數(shù)服務(wù)
单默,第一個用官方鏡像visualizer
碘举,第二個用我們之前在requirements.txt
里面寫到的redis
。
好的雕凹,讓我們開始
改寫你的yml
文件殴俱,在 原有web服務(wù)的下方政冻,填下如下內(nèi)容枚抵,你看名字就懂了,還是那句老話明场,注意縮進(jìn)
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
然后你需要執(zhí)行以下命令汽摹,其實(shí)都是以前說過的,比如初始化集群做雞頭苦锨,然后部署服務(wù)逼泣,就是這樣
記得在你的docker-compose.yml文件夾中
執(zhí)行
mkdir ./data # 這個文件夾是給redis放數(shù)據(jù)文件的
docker swarm init
docker stack deploy -c docker-compose.yml getstartedlab
然后你就可以訪問了,注意ip和端口舟舒,你要根據(jù)自己的機(jī)子做調(diào)整
可視化訪問
計數(shù)服務(wù)
網(wǎng)頁結(jié)果拉庶,注意visits
本文完