![7102fee91ca712acfbe1ec1f2e7ebe3b.png](https://i-blog.csdnimg.cn/blog_migrate/eb3016f6bdc849431facdb7c57f66c62.jpeg)
Docker 可视化管理和监控工具
Portainer
docker run -d -p 9000:9000 --restart always -v /var/run/docker.sock:/var/run/docker.sock -v /opt/portainer:/data portainer/portainer -H unix:///var/run/docker.sock
![dbe1d8fe077fba9174ced661483a6af0.png](https://i-blog.csdnimg.cn/blog_migrate/f29b90005830b08de3f34e609185a8c6.jpeg)
![032dc0cf3160eafebad5b28b987df225.png](https://i-blog.csdnimg.cn/blog_migrate/e634672c8def3d512529791445ad291d.jpeg)
Portainer工作在9000端口,第一次发访问会要求创建管理员账号,主要用于容器宿主机 容器 映像的日常管理
Weave scope
sudo curl -L http://git.io/scope -o /usr/local/bin/scope
sudo chmod a+x /usr/local/bin/scope
sudo scope launch
![2261cc2ba82bf81a1f316f3ce032e05e.png](https://i-blog.csdnimg.cn/blog_migrate/0dc9b3eedd046a6e23af9f782d9d73ee.jpeg)
weavescope工作在4040端口,不会要求创建管理员账号,非常危险,主要用于直观展现容器间的调用,也可以用于和容器 宿主机之间的交互式操作。
Prometheus
需要预先安装docker-compose
sudo apt install docker-compose
git clone https://github.com/stefanprodan/dockprom
cd dockprom
ADMIN_USER=admin ADMIN_PASSWORD=admin docker-compose up -d
![e61f6b10aa23b816934b13548dc0ad3c.png](https://i-blog.csdnimg.cn/blog_migrate/5d4e7d2dc4216d929e5f58d314932ccd.jpeg)
Grafana工作在3000端口,在这个场景中使用admin/admin进行登录,主要用于宿主机和容器的性能实时监控
ELK(选做)
sudo curl -L -O https://artifacts.elastic.co/downloads/beats/filebeat/filebeat-5.4.0-amd64.deb
sudo dpkg -i filebeat-5.4.0-amd64.deb
sudo systemctl start filebeat.service
sudo sysctl -w vm.max_map_count=262144
sudo docker run -d -p 5601:5601 -p 9200:9200 -p 5044:5044 -it --name elk sebp/elk
sudo docker run --name busybox busybox sh -c 'while true; do echo "This is a log message from container busybox!"; sleep 10; done;'
修改filebeat.yml
sudo nano /etc/filebeat/filebeat.yml
![d9a4e41415e823cc4a38defbf3a7c757.png](https://i-blog.csdnimg.cn/blog_migrate/54102ad23ee9839d948c5dcf0f71598d.png)
- /var/lib/docker/containers/*/*.log
- /var/log/syslog
![2af680cbcb69900cc531502fa41f28c4.png](https://i-blog.csdnimg.cn/blog_migrate/8072ad36911faa31d98ac2d52d9b0a44.png)
重启filebeat服务
sudo systemctl start filebeat.service
sudo sysctl -w vm.max_map_count=262144
重启之后ELK的修复
除了weave work之外其他容器都能自动重启,但是ELK需要特别干预,在docker host重启之后使用root账号权限运行以下命令:
sudo sysctl -w vm.max_map_count=262144
sudo systemctl start filebeat.service
docker start elk
docker start busybox
注意:如果发现工作不正常,果断用systemctl start filebeat.service 重启服务