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 文件中。

相关推荐
皓月盈江1 小时前
Linux Ubuntu系统如何编辑Docker容器内的文件
linux·ubuntu·docker·容器·靶场·vulhub·编辑docker内文件
魔极客1 小时前
1panel面板安装ollama的详细过程
docker·1panel·ollama
椰汁菠萝2 小时前
[特殊字符] Nginx UI:Docker 部署与完全使用指南
nginx·ui·docker
珂玥c2 小时前
添加node节点到k8s集群+配置网络插件flannel
云原生·容器·kubernetes
努力搬砖的咸鱼2 小时前
PersistentVolume与PersistentVolumeClaim:K8s 存储绑定机制完全解析
云原生·容器·kubernetes
xingfujie2 小时前
第3章 安装 kubeadm/kubelet/kubectl
linux·云原生·容器·kubernetes·kubelet
csdn小瓯2 小时前
CI/CD流水线搭建:GitHub Actions + Docker + Railway自动化部署实战
ci/cd·docker·github
代码讲故事3 小时前
mac电脑上docker突然无法运行,不停的出现弹框,“com.docker.vmnetd”将对你的电脑造成伤害。附国内不同芯片高速下载地址,下载直接运行。
macos·docker·容器·arm·mac·intel·下载
皓月盈江4 小时前
Linux Ubuntu系统使用Docker搭建vulhub靶场环境
linux·ubuntu·docker·tomcat·vulhub·漏洞靶场
程序员老邢4 小时前
【技术底稿 36】Docker Compose 微服务迁移 K3s:离线导入、镜像挂载、Nginx 重定向全踩坑复盘
nginx·docker·云原生·k3s·微服务迁移·技术底稿·容器运维