Docker是一个开源的基于LXC的高级容器引擎,我们可以把应用以及依赖包打包到一个镜像中,发布到支持Docker的 Linux或Windows 机器上,实现虚拟化。
Docker支持用docker swarm命令来管理docker集群。Visualizer是非常好用的docker swarm集群图形化显示工具,它能非常直观地显示集群中,服务器的状态和服务器上面运行容器的状态。
1.下载Visualizer
下载之前,可以用sudo docker search visualizer命令来搜索镜像。
jishu@Jishu:~$ sudo docker search visualizer
NAME DESCRIPTION STARS OFFICIAL AUTOMATED
dockersamples/visualizer 130
alexellis2/visualizer-arm Visualizer for Docker Swarm 21
bretfisher/visualizer Clone of dockersamples/visualizer for my Doc… 9 [OK]
......
因为开发板采用ARM芯片,所以镜像要采用alexellis2/visualizer-arm。
下载镜像:
sudo docker pull alexellis2/visualizer-arm
2.配置安装visualizer服务
visualizer服务也是用docker run命令来配置,与配置docker的nginx服务类似。用8060端口来映射visualizer容器内部的8080端口。
sudo docker run -it -d -p 8060:8080 -v /var/run/docker.sock:/var/run/docker.sock alexellis2/visualizer-arm
服务启动后,查看docker容器实例。
jishu@Jishu:~$ sudo docker ps -a
CONTAINER ID IMAGE COMMAND CREATED STATUS PORTS NAMES
f7c74fd8c8b0 alexellis2/visualizer-arm "/usr/bin/entry.sh n…" 12 seconds ago Up 11 seconds 0.0.0.0:8060->8080/tcp nifty_jepsen
c32f6bd0625f nginx:latest "nginx -g 'daemon of…" 5 minutes ago Up 5 minutes 80/tcp nginx-test-2.2.ql90wmzklbxa8woocuckmuak3
472ffc1e3996 nginx "/docker-entrypoint.…" 2 hours ago Up 2 hours 0.0.0.0:8052->80/tcp nginx-test-1
292df1d11d48 nginx "/docker-entrypoint.…" 2 hours ago Up 2 hours 0.0.0.0:8051->80/tcp nginx-test
如果在有多个manager节点的docker swarm集群中,可以创建visualizer service。
docker service create \
--name=viz \
--publish=8060:8080/tcp \
--constraint=node.role==manager \
--mount=type=bind,src=/var/run/docker.sock,dst=/var/run/docker.sock \
alexellis2/visualizer-arm
3.访问visualizer服务
用浏览器访问visualizer服务:http://192.168.1.4:8060/,能看到服务界面。配置成功!