Docker容器日志

本文涉及的产品
容器服务 Serverless 版 ACK Serverless,317元额度 多规格
容器镜像服务 ACR,镜像仓库100个 不限时长
容器服务 Serverless 版 ACK Serverless,952元额度 多规格
简介: docker容器在运行时,会持续不断地产生日志,这些日志在什么地方,如何查看和管理这些日志呢? 1、查看docker日志 docker logs 容器ID #此时会看到很多的日志输出出来,(如果容器运行时间比较久的话) 对应在/var/lib/docker/containers目录下,每个容器ID.

docker容器在运行时,会持续不断地产生日志,这些日志在什么地方,如何查看和管理这些日志呢?

1、查看docker日志

docker logs 容器ID
#此时会看到很多的日志输出出来,(如果容器运行时间比较久的话)

对应在/var/lib/docker/containers目录下,每个容器ID对应一个文件夹,存放的都是容器的日志,如下图
image

2、docker日志管理

docker容器日志会持续不断地输出,如果不进行清理,最终会导致磁盘空间不足

  • 2.1、将文件内容清空
cat /dev/null > *-json.log

注:docker容器正在运行,那么使用rm -rf方式删除日志后,通过df -h会发现磁盘空间并没有释放。原因是在Linux或者Unix系统中,通过rm -rf或者文件管理器删除文件,将会从文件系统的目录结构上解除链接(unlink)。如果文件是被打开的(有一个进程正在使用),那么进程将仍然可以读取该文件,磁盘空间也一直被占用。

  • 2.2、max-size限制docker容器日志大小
    限制单个容器大小,重启容器
nginx: 
  image: nginx:1.12.1 
  restart: always 
  logging: 
    driver: "json-file” 
    options: 
      max-size: "5g" 
      max-file: 3

限制宿主机上所有容器大小,重启docker进程和容器
/etc/docker/daemon.json

{
  "registry-mirrors": ["https://registry.docker-cn.com"], 
  "insecure-registries": ["registry.docker-cn.com"],
  "max-concurrent-downloads": 10,
  "log-driver": "json-file",
  "log-level": "debug",
  "log-opts": {
    "max-size": "10m",
    "max-file": "3"
  }
}

systemctl daemon-reload
systemctl restart docker

docker-swam集群更新方式:sudo docker service update --log-driver json-file --log-opt max-size=1m --log-opt max-file=3 pbblyrmsof5t

参考:https://docs.docker-cn.com/engine/admin/logging/json-file/#usage

相关实践学习
日志服务之数据清洗与入湖
本教程介绍如何使用日志服务接入NGINX模拟数据,通过数据加工对数据进行清洗并归档至OSS中进行存储。
相关文章
|
2天前
|
安全 关系型数据库 开发者
Docker Compose凭借其简单易用的特性,已经成为开发者在构建和管理多容器应用时不可或缺的工具。
Docker Compose是容器编排利器,简化多容器应用管理。通过YAML文件定义服务、网络和卷,一键启动应用环境。核心概念包括服务(组件集合)、网络(灵活通信)、卷(数据持久化)。实战中,编写docker-compose.yml,如设置Nginx和Postgres服务,用`docker-compose up -d`启动。高级特性涉及依赖、环境变量、健康检查和数据持久化。最佳实践涵盖环境隔离、CI/CD、资源管理和安全措施。案例分析展示如何构建微服务应用栈,实现一键部署。Docker Compose助力开发者高效驾驭复杂容器场景。
11 1
|
3天前
|
存储 监控 安全
Docker Compose:轻松实现容器编排的利器
【7月更文挑战第2天】 1. **基础与概念**:服务(多容器实例)、网络(灵活通信)、卷(数据持久化)和配置(安全管理)。 2. **实战指南**:安装Compose,编写`docker-compose.yml`文件,启动应用,并介绍依赖、环境变量、健康检查和数据持久化。 3. **最佳实践**:环境隔离、CI/CD集成、资源管理、日志监控、安全策略及案例分析,展示完整应用栈搭建。
13 1
|
8天前
|
jenkins 持续交付 开发者
利用Docker容器化部署应用的实战指南
【6月更文挑战第27天】本文详述Docker应用部署,涵盖Docker基本概念、安装、镜像制作及运行。通过编写Dockerfile构建镜像,使用`docker build`、`run`、`push`及`stop`命令管理。集成CI/CD工具如Jenkins,实现自动化构建、测试和部署,提升开发效率与部署质量。Docker助力轻量级、可移植的微服务架构。
|
12天前
|
存储 关系型数据库 MySQL
解读 MySQL 容器信息:`docker inspect` 字段详解
解读 MySQL 容器信息:`docker inspect` 字段详解
29 1
|
2天前
|
缓存 Linux 开发工具
docker的centos容器使用yum报错
docker的centos容器使用yum报错
14 0
|
7天前
|
Java API Docker
使用Spring Boot和Docker进行容器化部署
使用Spring Boot和Docker进行容器化部署
|
7天前
|
运维 Serverless 文件存储
函数计算产品使用问题之在利用Docker镜像部署应用时,容器内的应用如何能访问函数计算配置的NAS挂载
函数计算产品作为一种事件驱动的全托管计算服务,让用户能够专注于业务逻辑的编写,而无需关心底层服务器的管理与运维。你可以有效地利用函数计算产品来支撑各类应用场景,从简单的数据处理到复杂的业务逻辑,实现快速、高效、低成本的云上部署与运维。以下是一些关于使用函数计算产品的合集和要点,帮助你更好地理解和应用这一服务。
|
9天前
|
Docker 容器
Docker镜像、容器操作
Docker镜像、容器操作
35 0
|
8天前
|
存储 关系型数据库 MySQL
|
1天前
|
运维 Java Apache
Java中的日志框架:Log4j与SLF4J详解
Java中的日志框架:Log4j与SLF4J详解