调试技巧
Docker 容器调试方法和技巧
📋 目录
查看容器日志
基本命令
# 查看日志
docker logs my-container
# 实时查看日志
docker logs -f my-container
# 查看最后 N 行
docker logs --tail 100 my-container
# 查看带时间戳的日志
docker logs -t my-container日志过滤
# 查看特定时间范围的日志
docker logs --since "2023-01-01T00:00:00" my-container
docker logs --until "2023-01-01T23:59:59" my-container进入容器调试
使用 docker exec
# 进入运行中的容器
docker exec -it my-container /bin/bash
# 执行命令
docker exec my-container ls /app
# 以 root 用户执行
docker exec -u root my-container /bin/bash使用 docker run
# 运行调试容器
docker run -it --rm --network container:my-container ubuntu:20.04 /bin/bash网络调试
检查网络配置
# 查看容器网络
docker network inspect bridge
# 查看容器 IP
docker inspect -f '{{.NetworkSettings.IPAddress}}' my-container
# 测试网络连接
docker exec my-container ping 8.8.8.8网络工具
# 安装网络工具
docker run -it --rm --network container:my-container nicolaka/netshoot
# 使用 curl 测试
docker exec my-container curl http://example.com存储调试
检查挂载
# 查看容器挂载
docker inspect -f '{{.Mounts}}' my-container
# 检查数据卷
docker volume inspect my-volume文件系统调试
# 检查文件系统
docker exec my-container df -h
# 检查文件权限
docker exec my-container ls -la /app性能分析
资源监控
# 实时监控资源
docker stats my-container
# 查看容器资源限制
docker inspect -f '{{.HostConfig.Memory}}' my-container
docker inspect -f '{{.HostConfig.CpuShares}}' my-container性能分析工具
# 使用 top 查看进程
docker exec my-container top
# 使用 htop(如果可用)
docker exec my-container htop实用技巧
临时调试容器
# 创建临时调试容器
docker run -it --rm \
--network container:my-container \
--volumes-from my-container \
ubuntu:20.04 \
/bin/bash复制文件
# 从容器复制文件
docker cp my-container:/app/logs/app.log ./app.log
# 复制文件到容器
docker cp ./config.json my-container:/app/config.json