Docker容器监控及日志管理实现过程解析

 更新时间:2020年08月03日 08:57:37   作者:羊草  
这篇文章主要介绍了Docker容器监控及日志管理实现过程解析,文中通过示例代码介绍的非常详细,对大家的学习或者工作具有一定的参考学习价值,需要的朋友可以参考下

当Docker部署规模变大后,需要对容器进行监控,一般Docker自带几个监控子命令ps、top和stats,然后是现在流行的开源监控工具Prometheus

Docker自带的监控子命令ps

docker ps ,列出容器,方便查看当前的运行的容器,以下是命令语法与参数
语法

docker ps [OPTIONS]

OPTIONS说明:

  • -a :显示所有的容器,包括未运行的。
  • -f :根据条件过滤显示的内容。
  • --format :指定返回值的模板文件。
  • -l :显示最近创建的容器。
  • -n :列出最近创建的n个容器。
  • --no-trunc :不截断输出。
  • -q :静默模式,只显示容器编号。
  • -s :显示总的文件大小。

输出详情介绍:

  • CONTAINER ID: 容器 ID。
  • IMAGE: 使用的镜像。
  • COMMAND: 启动容器时运行的命令。
  • CREATED: 容器的创建时间。
  • STATUS: 容器状态。

状态有7种:

  • created(已创建)
  • restarting(重启中)
  • running(运行中)
  • removing(迁移中)
  • paused(暂停)
  • exited(停止)
  • dead(死亡)

PORTS: 容器的端口信息和使用的连接类型(tcp\udp)。

NAMES: 自动分配的容器名称。

新版的Docker提供了一个新命令docker container ls,其作用和用法与docker container ps完全一致。不过ls的含义可能比ps更准确,所以推荐使用。

top

如果想知道某个容器运行了哪些进程,可以执行docker container top 命令,如下所示:

命令后面还可以跟上linux操作系统ps命令的参数来显示特定的信息,比如-au,这样docker container top [容器名称] -au执行结果如下所示:

stats

docker container stats 用于显示每个容器各种资源的使用情况


默认会显示一个实时变化的列表,展示每个容器的cpu的使用率,内存和可用空间等。

如果容器启动的时候没有特别指定内存limit,stats命令这里会显示host内存的总量,但是这不意味着每个容器都能使用这么多内存
除此之外,docker container stats命令还会显示容器网络和磁盘的IO数据,可以再stats命令后面指定容器的名称来显示某些容器的数据

Docker logs

默认配置下 Docker 的日志功能。

对于一个运行的容器,Docker 会将日志发送到 容器的 标准输出设备(STDOUT)和标准错误设备(STDERR),STDOUT 和 STDERR 实际上就是容器的控制台终端。

如果要查看容器的日志,有两种方法:

attach 到该容器。

用 docker logs 命令查看日志。

ttach 的方法在实际使用中不太方便,因为:

只能看到 attach 之后的日志,以前的日志不可见。

退出 attach 状态比较麻烦(Ctrl+p 然后 Ctrl+q 组合键),一不小心很容器将容器杀掉(比如按下 Ctrl+C)。

查看容器日志推荐的方法是用 docker logs 命令。

如下所示:

dokcer logs能够打印自容器启动以来的完整日志,并且-f参数可以继续打印出新产生的日志,效果与linux的tail -f一样

以上就是本文的全部内容,希望对大家的学习有所帮助,也希望大家多多支持脚本之家。

您可能感兴趣的文章:

相关文章

  • Docker可视化面板Portainer的实现

    Docker可视化面板Portainer的实现

    Portainer是一个免费的容器管理工具,支持Docker环境的可视化管理,通过Portainer,用户可以轻松地在Windows或Linux容器中部署服务,大大简化了Docker容器的管理工作,感兴趣的可以了解一下
    2024-11-11
  • 使用YUM 安装 docker的方法步骤

    使用YUM 安装 docker的方法步骤

    这篇文章主要介绍了使用YUM 安装 docker的方法,本文分步骤给大家介绍的非常详细,对大家的学习或工作具有一定的参考借鉴价值,需要的朋友可以参考下
    2020-12-12
  • 开源框架 Matrix-Dendrite 搭建聊天服务器的详细过程

    开源框架 Matrix-Dendrite 搭建聊天服务器的详细过程

    Matrix 是一个开源、可交互、去中心化的实时通信服务框架。使用 Matrix 可以搭建安全的通信服务器,配合支持 Matrix 的客户端可以实现个人、团队间的实时聊天交互,对Matrix Dendrite搭建聊天服务器的过程感兴趣的朋友一起看看吧
    2022-03-03
  • Docker 中快速安装tensorflow环境的方法步骤

    Docker 中快速安装tensorflow环境的方法步骤

    这篇文章主要介绍了Docker 中快速安装tensorflow环境的方法步骤,小编觉得挺不错的,现在分享给大家,也给大家做个参考。一起跟随小编过来看看吧
    2018-10-10
  • Dockerfile指令与基本结构的讲解

    Dockerfile指令与基本结构的讲解

    今天小编就为大家分享一篇关于Dockerfile指令与基本结构的讲解,小编觉得内容挺不错的,现在分享给大家,具有很好的参考价值,需要的朋友一起跟随小编来看看吧
    2019-03-03
  • 记一次Docker生产环境搭建的方法

    记一次Docker生产环境搭建的方法

    这篇文章主要介绍了记一次Docker生产环境搭建的方法,小编觉得挺不错的,现在分享给大家,也给大家做个参考。一起跟随小编过来看看吧
    2018-06-06
  • Docker容器Consul部署概述

    Docker容器Consul部署概述

    这篇文章主要介绍了Docker容器Consul部署概述,文章围绕主题展开详细的内容介绍,具有一定的参考价值,需要的朋友可以参考一下
    2022-08-08
  • 用Docker作为PaaS的替代方案是否完美无缺

    用Docker作为PaaS的替代方案是否完美无缺

    Docker的出现似乎又带来了一种新的选择,而且对于开发者来说更加灵活、便捷、易用。既然用户可以直接在Docker上运行,PaaS是否还有应用场景?面对企业繁杂的应用环境,用Docker作为PaaS的替代方案是否完美无缺
    2016-11-11
  • 在Docker容器中使用iptables时的最小权限的开启方法

    在Docker容器中使用iptables时的最小权限的开启方法

    这篇文章主要介绍了在Docker容器中使用iptables时的最小权限的开启方法的相关资料,需要的朋友可以参考下
    2017-01-01
  • docker如何配置mysql主从复制

    docker如何配置mysql主从复制

    文章介绍了如何在CentOS 7上搭建一个MySQL集群,包括创建Docker环境、配置文件设置、创建和启动MySQL容器、设置远程访问以及配置主从同步
    2024-12-12

最新评论