一、拉取visualizer 镜像
[root@docker-mgr1 ~]# docker pull dockersamples/visualizer:latest
latest: Pulling from dockersamples/visualizer
ddad3d7c1e96: Pull complete
3a8370f05d5d: Pull complete
71a8563b7fea: Pull complete
119c7e14957d: Pull complete
28bdf67d9c0d: Pull complete
12571b9c0c9e: Pull complete
e1bd03793962: Pull complete
3ab99c5ebb8e: Pull complete
94993ebc295c: Pull complete
021a328e5f7b: Pull complete
Digest: sha256:530c863672e7830d7560483df66beb4cbbcd375a9f3ec174ff5376616686a619
Status: Downloaded newer image for dockersamples/visualizer:latest
docker.io/dockersamples/visualizer:latest
二、 创建容器并运行(需要运行在manager节点的主机上)
bash
docker run -itd --name visualizer -p 8099:8080 -e HOST=192.168.59.16 -e PORT=8080 -v /var/run/docker.sock:/var/run/docker.sock dockersamples/visualizer:latest
或者使用以下命令 可以通过集群中所有ip+port进行访问
[root@docker-mgr1 ~]# docker service create \
--name=viz \
--publish=8080:8080/tcp \
--constraint=node.role==manager \
--mount=type=bind,src=/var/run/docker.sock,dst=/var/run/docker.sock \
dockersamples/visualizer
je5f5lmg3qqit2yaqv7tv3wx7
overall progress: 1 out of 1 tasks
1/1: running [==================================================>]
verify: Service je5f5lmg3qqit2yaqv7tv3wx7 converged
访问得到的web界面如下
通过这个web界面,可以比较快速且一目了然的了解到swarm集群中的各个服务的运行状态。因为上面在swarm中运行的命令中没有指定副本数,所以可以看到,swarm只在mgr2中给他分配了一个副本。