Docker 集群 图形化显示 Visualizer
今天無意中看到了這個東西Visualizer,功能是可以可視化的去觀察展示swarm集群里面個節點的信息情況,使用起來很方便。這里整理一下:
我先部署一個三節點的swarm集群:
然后在整個簡單的nginx,開7個服務,讓三個node節點都跑起來。
docker service create --replicas 3 -p 80:80 --name nginx nginx:1.13.7-alpine
?
OK,nginx在集群上跑起來了,而且每個節點都可以訪問。
然后直接在manager節點上安裝Visualizer
docker run -d -p 8081:8080 -v /var/run/docker.sock:/var/run/docker.sock --name visua dockersamples/visualizer:latest
訪問http://192.168.0.102:8081/??(IP根據自己實際情況調整,注意是manager節點ip,不能是node節點ip)
?
第二種姿勢是直接加在新項目里,加到docker-compose.yml里面
先把剛剛的環境都清理了
先刪除visualizer容器
docker rm 27bb747f91aa267a32c9aa32b407ab4b0b674d87279e1f934d33d5ba7b70597b -f
然后把集群里面跑的那三個nginx全清除
docker service rm 0q28ulho4qpq
現在干凈了
?
然后開始準備docker-compose.yml文件
?
version: "3"
services:
?nginx:
??image: nginx
??ports:
???- "80:80"
??networks:
???- mainweb
??deploy:
???mode: replicated
???replicas: 7
????
?visualizer:
??image: dockersamples/visualizer:stable
??ports:
???- "8080:8080"
??stop_grace_period: 1m30s
??volumes:
???- "/var/run/docker.sock:/var/run/docker.sock"
??deploy:
???placement:
????constraints: [node.role == manager]
????
networks:
?mainweb:
?
然后執行 把文件拷到主節點上,執行下面命令
docker stack deploy -c docker-compose.yml nv
?
注意上面,剛開始的時候七個服務只啟動了2個,這個不是問題,要等一小會。
?
然后可以隨便找一個節點訪問80
?
然后訪問下http://192.168.0.102:8080/
?
三臺服務器跑了7個容器,分布很清晰。然后要注意一個地方,這種直接放到docker-compose.yml的姿勢和最上面在manager節點單獨安裝的最大區別就是,yml這種會導致任何一個節點訪問8080都可以看到整個集群的情況,這個很好理解,因為這個服務已經被集成到集群里了,而集群的每個ip:8080就都可以訪問了。
?
部署的時候根據實際情況自己安排即可。
?
?
總結
以上是生活随笔為你收集整理的Docker 集群 图形化显示 Visualizer的全部內容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: redis-集群分片
- 下一篇: Docker Swarm集群secret