测验:日志与调试
容器反复重新启动,docker logs完全为空。首先要检查什么?
- 从头开始重建图像
- 检查退出代码和 State.OOMKilled
- 检查容器网络设置
- 尝试更改 Docker 日志驱动程序
该应用程序设置为仅将日志写入/var/log/app.log文件。为什么这是容器中的问题?
- 这是因为日志文件权限不正确。
- 容器磁盘即将耗尽
- 日志轮换在容器内不起作用
- 由于所有日志收集和查询工具都采用标准输出,因此整个管道变得无效。
docker exec -it app sh在 distroless 映像上失败。最合适的回应是什么?
- 通过将 shell 二进制文件添加到映像来重建
- 通过将其附加到同一命名空间来查看包含该工具的容器。
- 以特权模式重新启动容器
- 更改日志驱动程序
如何从docker logs看到的输出中分离标准输出和标准错误?
- Docker中没有办法分离
- 使用 --details 选项
- 使用 shell 重定向拆分两个 docker 日志流
- 用 dockerspect 单独阅读
字段State.Error包含一个值,并且日志为空。这是什么意思?
- 应用程序运行时发生错误
- 容器网络断开
- 运行时根本无法启动容器进程
- 下载的图片已损坏