docker logs 显示的日志,默认是保存在哪里?

docker logs 实际上是读取容器运行时的 标准输出(stdout)标准错误(stderr),而这些日志默认会被 Docker 守护进程保存到宿主机的文件里。


📌 默认保存位置

  • Linux 系统 下,默认日志驱动是 json-file

  • 每个容器的日志会保存在:

    /var/lib/docker/containers/<容器ID>/<容器ID>-json.log

  • 例如:

    复制代码
    /var/lib/docker/containers/fae320d08268/fae320d08268-json.log
  • 这个文件就是 docker logs <容器ID> 命令背后读取的来源。


⚠️ 注意事项

  • 容器删除后:对应目录和日志文件也会被删除。

  • 日志文件可能很大 :如果容器长时间运行且输出很多日志,json.log 文件会快速膨胀,占满磁盘。

  • 解决办法 :可以在 /etc/docker/daemon.json 中配置日志驱动和参数,例如:

    json 复制代码
    {
      "log-driver": "json-file",
      "log-opts": {
        "max-size": "500m",
        "max-file": "3"
      }
    }

    这样每个容器的日志文件最大 500MB,最多保留 3 个文件,超过会自动轮转。


✅ 总结:
docker logs 默认显示的内容,实际存放在宿主机的 /var/lib/docker/containers/<容器ID>/<容器ID>-json.log 文件中。

相关推荐
LRL_10 小时前
深入浅出 Kubernetes 控制器:Deployment 与 StatefulSet 核心区别全景图
云原生·容器·kubernetes
起名真的太难了10 小时前
Docker 项目部署
docker·容器·eureka
狼与自由11 小时前
docker 安装milvus
docker·milvus
摇滚侠11 小时前
《SpringBoot 3:入门与应用实战》第 14 章 打包与部署 制作 Docker 镜像 阅读笔记 43
spring boot·笔记·docker
MrSYJ11 小时前
Network Namespace 到底是个啥,别人再问你告诉他
docker·云原生·kubernetes
程序员老赵11 小时前
Docker 部署 Rocky Linux:轻松搭建 RHEL 兼容企业级基础镜像平台
linux·后端·docker
彬冷的心13 小时前
K8s 部署若依项目 + Harbor 私有仓库(双节点版)
云原生·容器·kubernetes
想要成为老金高手14 小时前
Kubernetes Service 深度实践:从 ClusterIP 到 Ingress 七层代理
云原生·容器·kubernetes
码力斜杠哥14 小时前
Docker Compose快速入门笔记
笔记·docker·eureka
IT大白鼠14 小时前
Kubernetes 持久化存储:PV、PVC、StorageClass 存储体系
云原生·容器·kubernetes