Docker系列(七):Docker图形化管理和监控
Docker管理工具之官方三剑客
Docker Machine是什么鬼
从前 现在
你需要登录主机,按照主机及操作系统特有的安装以及配置步骤安装Docker,使其 能运行Docker容器。
Docker Machine的产生简化了这一过程,让你可以使用一条命令在你的计算机,公有云 平台以及私有数据中心创建及管理Docker主机。
Create Docker Machine主要包括三个Create过程。
• 首先是Provider Create(libmachine/provider.go),此函数主要是在当前运行docker-machine命令主机上创建
以machine name命名的文件夹,并将根证书,服务器证书以及用户证书拷贝到此文件夹。
• 其次是Driver create(例如drivers/virtualbox/virtualbox.go)用来创建主机,
• 最后是运行Host create(libmachine/host.go)通过SSH安装并配置Docker。目前在本地环境中使用的是
boot2docker镜像,云端环境使用的是Ubuntu镜像。
其实真相是这样的:自动创建一个虚机并且安装好设置好Docker Engine
Docker Machine简化了部署的复杂度,无论是在本机的虚拟机上还是在公有云平台,只需要一条命令便可搭 建好Docker主机
• Docker Machine提供了多平台多Docker主机的集中管理
• Docker Machine 使应用由本地迁移到云端变得简单,只需要修改一下环境变量即可和任意Docker主机通信 部署应用。
为什么会有Docker Compose
微服务&规模
Openstack Heat
与容器技术同样受到关注的微服务架构也在潜移默化的改变着应用的部署方式,其提倡将应用分割成一系列细小 的服务,每个服务专注于单一业务功能,服务之间采用轻量级通信机制相互沟通
Docker Swarm (类似k8s)
在很长的一段时间内,Docker只能在单host上运行,其跨host的部署、运行与管理能力颇受外界诟病。跨host能 力的薄弱,直接导致Docker容器与host的紧耦合,这种情况下,Docker容器的灵活性很难令人满意,容器的迁移、 分组等都成为很难实现的功能点。Swarm发布于2014年12月,以管理Docker集群,并将其抽象为一个虚拟整体 暴露给用户,其架构以及命令比较简单。
Swarm作为一个管理Docker集群的工具,可以单独部署于 一个节点。
Swarm的具体工作流程:Docker Client发送请求给Swarm ;Swarm处理请求并发送至相应的Docker Node;Docker Node执行相应的操作并返回响应。
1.运行一个命令去创建一个集群. 2.运行另一个命令去启动Swarm.
3.在运行有Docker Engine的每个主机上,运行一个命令与 上面的集群相连
在某些点, Swarm将可以在主机故障时重调度容器. Swarm可以很好地与第三方容器编配产品和运供应商提供
的编配服务整合,如Mesos

可以看到server和docker node中的tcp是一样的。存在一个调度的关系
swarm则将一组docker enginge作为一个集群进行管理,并提供过了lablel,schedule,filter的能力。 其中调度部分,允许用户定制自己的调度策略。
1.docker run -e “constraint:operationsystem=fedora”
2.docker run -e “constraint:storagedriver=aufs”
Docker Compose是什么鬼 (类似openstack)
Docker Compose将所管理的容器分为三层,工程(project),服务(service)以及容器(contaienr)。
一个工程当中可包含多个服务,每个服务中定义了容器运行的镜像,参数,依赖。一个服务当中可包括多个容 器实例,Docker Compose并没有解决负载均衡的问题,因此需要借助其他工具实现服务发现及负载均衡。
Docker Compose中定义构建的镜像只存在在一台Docker Swarm主机上,无法做到多主机共享

Docker管理工具——Tutum(官方收费)

Docker管理工具——shipyard(开源、活跃)
所有需要纳管的Docker主机,需要让Docker在TCP上监听,以便被纳管 OPTIONS=-H=unix:///var/run/docker.sock -H=tcp://0.0.0.0:2375
安装shipyard
docker run --rm -v /var/run/docker.sock:/var/run/docker.sock \ shipyard/deploy start
运行:
浏览器访问物理机的8080端口:http://192.168.131.134:8080/ 默认用户名密码:admin/shipyard,,点击Engines标签页 添加一个Docker主机(Engine):

填写Docker 主机的名字、CPU核心数、内存数量(单位MB)、以及Labels,比如部署Web的标签为web,以后 调度容器的时候,会优先调度到相应的标签。

创建成功后,列表页面显示Docker主机的版本信息:

如果添加失败,则需要排除是否端口不可访问,可以用wget/telnet/curl等方式来排查问题,下面截图是在 另外主机上Telnet Docker 2375端口看是否能连接:

Containers标签页显示了所有的Docker容器,可以按照Engine(主机)排序,目前还没有分页和查询功能。

点击Container标签页的Deploy按钮,可以启动新的容器:

容器的镜像,名称,环境变量,启动参数,是否有Volume存储、是否有端口映射等都可以在界面上定义。启动成功以后,可以看到列表中新容器的状态为RUNNING:

点击容器的链接,可以看到容器的细节信息,如端口、CPU占用、内存占用、环境变量、重启策略等,还可以重 启、停止、销毁容器或者查看容器日志。

如果容器启动失败,或者排查问题,则可以查看容器的日志信息:


Docker管理工具——cAdvisor
cAdvisor的监控图默认1秒刷新一次,显示最近一分钟的实时数据,不显示汇聚的和历史数据, 也没有阀值告警功能,此外它也无法同时监控多个Docker主机,不过由于其简单方便,并且具备 很好的实时性能监控能力,所以适合特殊情况下的性能监控和问题排查。
google的cAdvisor,免费开源,实施简单,每个Docker主机上启动一个容器即可通过Web端口监控,
docker run --volume=/:/rootfs:ro --volume=/var/run:/var/run:rw --volume=/sys:/sys:ro – volume=/var/lib/docker/:/var/lib/docker:ro --publish=8082:8082 --detach=true --name=cadvisor google/cadvisor:latest --port=8082
上述部分参数可能与主机操作系统有关,需要修改,可参照官方文档:https://github.com/google/cadvisor 由于shipyard是在本机8080端口运行,因此上面把cAdvisor改为了8082端口,运行起来后,访问本机8082端口,可
看到监控界面:



显示了当前活动的容器的磁盘占用情况

Docker系列(七):Docker图形化管理和监控的更多相关文章
- 【Docker学习之七】Docker图形化管理和监控
环境 docker-ce-19.03.1-3.el7.x86_64 centos 7 一.Docker管理工具 (官方三剑客)1.Docker Machine(学习的Openstack Heat)Cr ...
- docker 添加Portainer容器图形化管理工具
主要参照了这边博客,但还是有些问题https://www.cnblogs.com/Bug-Hunter/p/12023130.html 比如端口9000得开启,docker端口映射得开启,得开启ip4 ...
- docker图形化管理工具portainer
本章主要介绍docker的web图形化管理工具.这里使用 portainer(类似与dockui不过dockerui只支持单节点) 镜像名称 portainer/portainer 一.启动porta ...
- 6、Docker图形化管理(Portainer)
一.Portainer简介 Portainer是Docker的图形化管理工具,提供状态显示面板.应用模板快速部署.容器镜像网络数据卷的基本操作(包括上传下载镜像,创建容器等操作).事件日志显示.容器控 ...
- 『现学现忘』Docker基础 — 24、Docker图形化管理工具Portainer
目录 1.Portainer介绍 2.Portainer安装启动 3.Portainer初始化配置 4.Portainer汉化 1.Portainer介绍 (1)Portainer 是一款轻量级的图形 ...
- KONG -- 图形化管理(Kong Dashboard)
前面安装的 KONG 的版本是社区版的 1.0.2,官方的 KONG Manager 好像只有企业版才提供.在 github 上找了一个开源的图形化管理应用 -- Kong Dashboard (ht ...
- 数据库--oracle图形化管理工具和新增自定义用户
oracle数据库图形化管理工具: 1 navicat工具很小,操作mySQL和SQLServer非常好用,但对于oracle体验性就有点差,要自己下载编码和替换oci文件.下面是解决的方法教程链接 ...
- 常用MySQL图形化管理工具
MySQL的管理维护工具非常多,除了系统自带的命令行管理工具之外,还有许多其他的图形化管理工具,这里我介绍几个经常使用的MySQL图形化管理工具,供大家参考. MySQL是一个非常流行的小型关系型数据 ...
- 有评论就是我最大的动力~MySQL基础篇完结(存储引擎和图形化管理工具)
hi 今天登上来,发现竟然有了3个评论~~加油吧! 这周的计划其实远远没有达到,然后下周还有一大堆事情...那么...周末好好玩吧~ 今天试图完结MySQL的基础篇知识,小白变为大白? 1.MySQL ...
随机推荐
- jdbc打印sql语句-p6spy配置
@Configuration public class P6SpyConfig { /** * P6数据源包装, 打印SQL语句 */ @Bean public P6DataSourceBeanPos ...
- cut sort uniq wc 一 文本处理工具
cut cut是一个选取命令,就是将一段数据经过分析,取出我们想要的. 一般来说,选取信息通常是针对"行"来进行分析的,并不是整篇信息分析的. -c : 以字符为单位进行分割. c ...
- C/C++ 无法解析的外部符号解决方案
{ //0 类的成员函数没有实现就调用 //1 调用没有编译生成cpp 的函数 //2 没有加载lib //3 最重要的就是有声明无实现 }
- HTML——表单标签
表单标签(掌握) 现实中的表单,类似我们去银行办理信用卡填写的单子. 如下图: 目的是为了收集用户信息. 在我们网页中, 我们也需要跟用户进行交互,收集用户资料,此时也需要表单. 在HTML中,一个完 ...
- paper 16 : 计算机视觉领域博客资源
这是收录的图像视觉领域的博客资源的第一部分,包含:中国内地.香港.台湾 这些名人大家一般都熟悉,本文仅收录了包含较多资料的个人博客,并且有不少更新,还有些名人由于分享的paper.code或者数据集不 ...
- zookeeper3台机器集群环境的搭建
三台机器zookeeper的集群环境搭建 Zookeeper 集群搭建指的是 ZooKeeper 分布式模式安装. 通常由 2n+1台 servers 组成. 这是因为为了保证 Leader 选举(基 ...
- 51nod 1556 计算(递推)
传送门 解题思路 在一个网格图上走\(n\)步,每次可以向右上,右下,右,但必须在第一象限,最后从\((0,0)\)走到\((n,0)\)的方案数为默慈金数.递推式为\(m[i+1]=\frac{(2 ...
- python入门 元组tuple (三)
什么if while语句了 列表字典都太简单了 ,我直接跳过了, 开始写tuple了 增 元组格式是写在括号里,注意与列表(写在中括号里)的区别 tup1 = ('math', 'beijing', ...
- Spring源码由浅入深系列四 创建BeanFactory
继上一章refresh之后,上图描述了obtainFreshBeanFactory过程.
- Python生成Windows可执行exe文件
环境 python3.6.5 pyinstaller3.5 windows 10 下载地址 python:https://www.python.org/ftp/python/3.6.5/python- ...