Docker快速入门-第11章 日志管理

别再手动破解了!用Docker+JarRunner快速搭建Aspose.CAD 21.11 Java测试环境 本文介绍如何利用Docker容器技术快速搭建Aspose.CAD 21.11 Java测试环境,解决传统手动配置的依赖冲突和环境污染问题。通过详细的Dockerfile示例和Maven依赖管理,帮助开发者实现开发环境标准化,提升团队协作效率。 阅读详情

Docker快速入门-第11章 日志管理
📜 第11章 日志管理
11.1 查看引擎日志
在CentOS系统中,Docker引擎日志通常由systemd管理。可以使用以下命令查看日志:

bash
Copy
journalctl -u docker.service
11.2 查看容器日志
容器日志通常指容器的标准输出。在容器启动失败或其他场景下,可以通过控制台查看容器日志,以帮助定位相关问题。

使用docker logs命令
可以使用docker logs命令查看容器的日志,命令格式如下:

bash
Copy
docker logs [OPTIONS] CONTAINER
参数选项说明:

选项 说明
–details 显示更多信息。
-f, --follow 跟踪实时日志。
–since string 显示自某个时间戳之后的日志,或相对时间。
–tail string 从日志末尾显示指定行数的日志,默认全部显示。
-t, --timestamps 显示时间戳。
–until string 显示自某个时间戳之前的日志,或相对时间。
11.3 清理容器日志
如果Docker容器正在运行中,使用rm -rf命令删除日志文件后,通过df -h会发现磁盘空间并没有释放。这是因为在Linux或Unix系统中,通过rm -rf命令删除文件仅从文件系统的目录结构上解除链接(unlink),如果文件仍被打开(至少有一个进程在使用),进程将继续可以读取该文件,磁盘空间仍然被占用。

正确的日志清理方法
可以使用以下命令清理日志:

bash
Copy
cat /dev/null > *-json.log
当然,也可以通过rm -rf删除后再重启Docker。

日志清理脚本示例
bash
Copy
#!/bin/sh
echo “======== docker containers logs file size ========”

logs=$(find /var/lib/docker/containers/ -name *-json.log)

for log in $logs
11.4 日志驱动程序
11.4.1 日志驱动概述
Docker日志驱动程序有以下几种类型:

日志驱动 说明
none 运行的容器没有日志,docker logs命令不返回任何输出。
local 日志以自定义格式存储,旨在实现最低开销。
json-file 日志格式为JSON,Docker的默认日志记录驱动程序。
syslog 将日志消息写入syslog,syslog守护程序必须在主机上运行。
journald 将日志消息写入journald,journald守护程序必须在主机上运行。
gelf 将日志消息写入Graylog扩展日志格式(GELF)端点。
fluentd 将日志消息写入fluentd(转发输入)。
awslogs 将日志消息写入Amazon CloudWatch Logs。
splunk 使用HTTP事件收集器将日志消息写入splunk。
etwlogs 将日志消息写为Windows事件跟踪(ETW)事件,仅适用于Windows平台。
gcplogs 将日志消息写入Google Cloud Platform(GCP)Logging。
logentries 将日志消息写入Rapid7 Logentries。
11.4.2 local日志驱动
local日志驱动记录从容器的STDOUT/STDERR输出,并写到主机硬盘。默认情况下,local日志驱动为每个容器保留100M的日志信息,并启用压缩以节省空间。

配置选项 说明
max-size 切割之前日志的最大大小,默认为20M。
max-file 可以存在的最大日志文件数,默认为5。
compress 是否启用压缩,默认启用。
11.4.3 json-file日志驱动
json-file日志驱动记录从容器的STDOUT/STDERR输出,并用JSON格式写到文件中。

日志路径为:

text
Copy
/var/lib/docker/containers/容器ID/容器ID-json.log
11.4.4 syslog日志驱动
syslog日志驱动将日志路由到syslog服务器,接收方可以提取以下消息元数据:

消息元数据类型 说明
level 日志等级(debug、warning等)。
timestamp 时间戳。
hostname 事件发生的主机。
facility 系统模块。
process name 进程名称和进程ID。
修改全局日志驱动为syslog的示例配置:

json
Copy
{
“log-driver”: “syslog”,
“log-opts”: {
“syslog-address”: “udp://1.2.3.4:1111”
}
}
11.4.5 日志驱动的选择
Docker官方提供的日志驱动主要用于收集容器的STDOUT/STDERR输出的日志。容器中的日志可分为两类:

标准输出STDOUT/STDERR日志:这类日志可以通过Docker官方的日志驱动进行收集。例如,NGINX的日志有access.log和error.log,Docker Hub上可看到Nginx的Dockerfile对这两个日志的处理方式为:
bash
Copy
RUN ln -sf /dev/stdout /var/log/nginx/access.log
&& ln -sf /dev/stderr /var/log/nginx/error.log
这两个日志文件都是软链接到/dev/stdout和/dev/stderr。
在这里插入图片描述

深入Java容器化:日志管理与监控的全面实践指南 在当今快速发展的云原生时代,容器化技术已经成为软件开发和部署的标准做法。Java应用作为企业级系统的核心部分,如何有效地进行容器化并实施高效的日志管理和监控变得尤为重要。本文将深入探讨Java在容器化环境下的日志管理与监控的最佳实践,并通过详细的代码示例展示其实战应用。首先,让我们简要回顾一下Java容器化的基础知识。Docker是一个非常流行的容器化平台,它允许开发者将应用程序及其所有依赖项打包到一个轻量级、可移植的容器中。下面是一个简单的Java应用Dockerfile示例: 这段Dockerfile定 阅读详情

相关推荐

从三极管到MOS管:单片机I/O口驱动电路设计实战解析

本文深入解析了从三极管到MOS管的单片机I/O口驱动电路设计实战经验。通过对比三极管与MOS管的本质区别,结合实际案例详细讲解了驱动电路的设计要点、优化技巧及常见问题解决方案,帮助工程师高效完成各类负载驱动设计。

weixin_29161785的博客 322

Seal^_^【送书活动第6期】——《Docker快速入门》

本书从实操入手,循序渐进地讲解Docker的基本概念、基本原理、核心技术及其使用示例,并结合Docker 部署 Web 应用的综合案例,解析从创建项目开始,到构建镜像、创建容器,再到与Web Server交互及部署的完整过程。本书还讲解了通过Docker Desktop使用Kubernetes的基础知识。

✨ 欢迎来到【Seal ^_^ 的优快云博客】!✨ 7939

语言随机效应模型_线性混合效应模型 VS 方差分析

线性混合效应模型相比方差分析具有很多优点。为了让大家更直观的了解,我们来做一下两者的对比。基于模拟的方法,生成了以下数据dat_sim:这种数据格式是长格式,也就是从实验软件导出来的那种数据格式。这种数据格式可以直接使用线性混合效应模型进行分析。该实验设计是被试内项目间的单因素两水平设计。category是自变量,两个水平分别是outgroup和ingroup,outgroup比ingr...

weixin_31960565的博客 2688

第 11 章 日志管理 - 087 - 日志管理之 Docker logs

日志管理 高效的监控和日志管理对保持生产系统持续稳定地运行以及排查问题至关重要。 在微服务架构中,由于容器的数量众多以及快速变化的特性使得记录日志和监控变得越来越重要。 考虑到容器短暂和不固定的生命周期,当我们需要 debug 问题时有些容器可能已经不存在了。 因此,一套集中式的日志管理系统是生产环境中不可或缺的组成部分。 日志管理方案: Docker logs...

weixin_34279246的博客 139

WinDbg调试工具安装全攻略:从下载到配置的保姆级教程(Windows 10/11适用)

本文提供了一份详细的WinDbg调试工具安装与配置指南,适用于Windows 10/11用户。文章对比了WinDbg Preview独立版与SDK内置经典版的区别,并手把手指导从Microsoft Store或Windows SDK完成安装。核心部分重点讲解了如何配置符号文件路径与源代码路径,这是让WinDbg发挥强大调试功能的关键步骤,并针对常见安装问题提供了实用的排错方法。

hp777的博客 388

三级等保网络拓扑图实战:从零搭建符合标准的医院安全架构

本文详细阐述了如何从零开始设计并搭建符合三级等保标准的医院网络安全架构。文章基于“一个中心,三重防护”的核心框架,深入解析了医院网络分区设计、安全域划分、关键安全设备选型与配置等实战要点,并提供了绘制专业网络拓扑图的技巧与等保测评准备指南,旨在帮助医院IT人员系统化地构建既合规又实用的纵深防御体系。

weixin_29326909的博客 504

Docker 入门

想象一下,在没有集装箱的年代,码头工人需要一件件搬运各种各样的货物,效率低下且容易损坏。1956 年,集装箱的出现彻底改变了航运业 —— 无论里面装的是汽车还是衣服,只要规格统一,就能被高效地搬运、堆叠和运输。容器化技术就是软件世界的 “集装箱”。它是一种操作系统级别的虚拟化方法,允许我们在资源隔离的进程中运行应用程序及其所有依赖项。与传统虚拟机不同,容器不需要捆绑完整的操作系统,它们共享主机系统的内核,只包含应用程序运行所需的库、依赖和配置文件。

conkl的博客 1141

Android13系统设置第三方app为设备所有者

DevicePolicyManagerService.java文件所在目录是frameworks/base,记得将包类名换成自己app的。2. 将拷贝到系统分区下的两个xml文件继续通过init.rc服务拷贝到data/system/目录下并修改权限。1. 拷贝设备所有者和设备管理器两个对应的xml文件到系统分区。

wzh048503的博客 2509

FunASR Docker镜像深度定制与智能日志管理完全指南

FunASR作为一个端到端语音识别工具包,提供了强大的Docker部署方案和完整的日志管理系统。本文将深入探讨FunASR项目中Docker镜像的自定义配置和高效的日志管理实践,帮助开发者构建稳定可靠的语音识别服务环境。🎯 ## FunASR Docker部署架构解析 FunASR的Docker部署采用分层架构设计,通过[runtime/deploy_tools](https://link.

gitblog_00849的博客 528

基于BP神经网络PID控制的电机转速控制器设计复现

摘要:本文提出了一种基于BP神经网络PID控制的永磁同步电机转速控制方法,通过MATLAB/Simulink平台实现了算法复现。系统采用三层BP神经网络在线调整PID参数,包含输入层(误差、误差变化率、误差积分)、5节点隐含层和输出层(Kp、Ki、Kd)。仿真结果表明,相比传统PID控制,该方案具有更快的响应速度(上升时间减少约40%)、更小的超调量(降低约60%)和更强的抗干扰能力,在电动汽车电机驱动等复杂工况下表现优异。文中详细给出了PMSM数学模型建立、BP网络设计、权值更新算法及Simulink仿真

max500600的博客 308

TMS_WebGMaps_1.9.8.0_Full_Source

TMS_WebGMaps_1.9.8.0_Full_Source 全源码 delphi cbuilder

Win11+Docker实战:5个必知的生产环境配置技巧

最近在公司用Windows 11搭建Docker生产环境时踩了不少坑,整理出这份实战指南,希望能帮到同样在Win11上折腾Docker的小伙伴们。特别适合快速验证这些Docker配置,它的在线环境自带WSL2支持,不用折腾本地环境就能测试各种参数组合。最方便的是能一键部署带配置的容器实例,像我们团队的MySQL集群配置就是先在快马上调通再应用到生产环境的。对于需要频繁调整配置的场景,这种即开即用的云环境确实能省下不少时间。特别是第3条的镜像加速配置,平台已经内置了国内源,新手不用自己折腾就能快速拉取镜像。

YellowSun24的博客 768

怀旧版电脑GBC模拟器

再现原版GBC掌机的界面,电脑运行连游戏界面都一样大小,很怀旧,很真实,(英文版)强烈推荐,很小的文件,很难才找到的。

Docker常用命令大全(非常详细)零基础入门到精通,收藏这一篇就够了

简而言之,这份关键命令快速指南对于管理容器和构建镜像非常方便。了解这些基础知识可以让处理 Docker 变得不再那么棘手!

A1_3_9_7的博客 2320

jre9下载 jdk9

(Java SE Runtime Environment 9.0) 9.0u175 官方最新版 【x86|x64】

Statistics and Machine Learning Toolbox

Statistics and Machine Learning Toolbox(带书签),MATLAB统计学习工具

Docker 安全及日志管理

容器的安全性问题的根源在于容器和宿主机共享内核。如果容器里的应用导致Linux内核崩溃,那么整个系统可能都会崩溃。与虚拟机是不同的,虚拟机并没有与主机共享内核,虚拟机崩溃一般不会导致宿主机崩溃。

HanYuHao11的博客 1309

docker-elk环境搭建与快速入门指南

docker-elk环境搭建与快速入门指南 【免费下载链接】docker-elk deviantony/docker-elk: 是一个使用 Docker 部署的 ELK Stack(Elasticsearch、Logstash 和 Kibana)解决方案,提供了预先构建的 Docker 镜像和简单的部署脚本。适合对 EL...

gitblog_00259的博客 998

openEuler容器化实践:从Docker入门到生产部署

通过本次在openEuler上的容器化实践,我们全面掌握了从基础的Docker操作到生产环境部署的完整技能。openEuler提供的稳定系统环境和完善的Docker支持,为容器化应用提供了可靠的运行平台。核心收获✅ Docker基础操作和镜像管理✅ Dockerfile编写和多阶段构建✅ Docker Compose多容器编排✅ 数据持久化和网络配置✅ 监控日志和生产部署下一步方向Kubernetes容器编排CI/CD流水线集成微服务架构实践。

m0_49476241的博客 9543

【实战】使用Docker快速搭建Graylog单节点详细流程

Docker快速搭建Graylog单节点详细流程实战篇

Ji影的博客 2829

Docker Compose日志监控最佳实践(专家级日志管理方案曝光)

掌握Docker Compose日志跟踪技巧,实现多容器应用的高效监控与故障排查。适用于微服务、生产部署等场景,集成ELK、Fluentd等方案,提升日志集中化管理效率。支持实时查看与结构化解析,运维更直观。值得收藏

PixelShoal的博客 1098

Docker+EFK 快速搭建日志收集系统

1、为什么需要日志系统? 首先咱们会想到分布式日志管理系统 ELK。 分别表示:Elasticsearch , Logstash, Kibana , 它们都是开源软件。新增了一个FileBeat,它是一个轻量级的日志收集处理工具(Agent),Filebeat占用资源少,适合于在各个服务器上搜集日志后传输给Logstash,官方也推荐此工具。 Elasticsearch是个开源分布式搜索引擎,提供搜集、分析、存储数据三大功能。它的特点有:分布式,零配置,自动发现,索引自动分片,索引副本机制,restful风

qq_44293253的博客 2351

使用Docker Compose部署PostgreSQL:从入门到实践

本文介绍了如何使用Docker Compose快速部署生产级PostgreSQL数据库。主要内容包括:PostgreSQL的核心特性(开源、SQL兼容、丰富数据类型等);推荐稳定版本选择(16/15/14);Docker和docker-compose安装指南;基础版docker-compose.yml配置文件示例;以及安全加固、数据持久化、性能调优等关键注意事项。通过容器化部署可简化环境搭建,同时保证数据安全和性能优化,适合现代应用开发需求。

mliev的博客 1454
上一篇: Docker快速入门-第10章 Docker存储
下一篇: Docker快速入门-第12章 Docker Compose
andyyah晓波
博客等级 码龄7年 3368粉丝 454原创
评论
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符
 
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

个

红包个数最小为10个

元

红包金额最低5元

当前余额3.43元 前往充值 >
需支付:10.00元
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付元
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值