文章列表
1 分钟阅读

Docker 日志和排障:logs、exec、inspect、stats


系列:容器部署基础

第 6 / 10 篇

  1. Docker 安装与使用教程:从零部署第一个容器服务
  2. Dockerfile 入门:构建自己的应用镜像
  3. Docker Compose 使用指南:管理多容器服务
  4. Docker 数据卷与备份:数据库容器怎么保护数据
  5. Docker 网络与端口映射:容器之间怎么通信
  6. Docker 日志和排障:logs、exec、inspect、stats
  7. 用 Docker 部署一个 Python Web 项目
  8. Nginx 反向代理入门:静态文件、HTTPS 和 Web 服务转发
  9. HTTPS 和证书部署指南:Let’s Encrypt、Cloudflare、Nginx 怎么配
  10. Docker 生产环境部署注意事项:镜像、日志、数据卷和健康检查

容器出问题时,不要先重装。先看状态、日志、配置和资源。Docker 自带的几个命令已经够排查大多数问题。

logs

Terminal window
docker logs app
docker logs -f app
docker compose logs -f web

应用日志应该输出到 stdout/stderr,让 Docker 收集。

exec

Terminal window
docker exec -it app sh
docker compose exec web sh

进入容器后可以看环境变量、文件、网络连通性。

inspect

Terminal window
docker inspect app
docker inspect app --format '{{.State.Status}}'

配置太多时,可以配合 jq

stats

Terminal window
docker stats

看 CPU、内存、网络、磁盘 IO。服务变慢时先确认是不是资源打满。

常见问题

容器反复重启:

Terminal window
docker compose ps
docker compose logs --tail 100 web

端口访问不了,结合 Docker 网络与端口映射:容器之间怎么通信 排查。

总结

Docker 排障顺序是:ps 看状态,logs 看错误,exec 进容器验证,inspect 看配置,stats 看资源。不要把容器当黑盒。