docker logs 可以查看某个容器内的日志情况。
前置参数说明
|--------|-------------|
| c_name | 容器名称 / 容器ID |
logs
获取容器的日志 , 命令如下:
docker logs [options] c_name
option参数:
|---------|---------------------------------------------------------------------------------------------------------------------------------|
| -n | 查看最近多少条记录:docker logs -n 5 c_name |
| --tail | 与-n 一样 ,输出倒数N行的日志:docker logs --tail 5 c_name |
| -f | 跟踪实时日志输出:docker logs -f c_name |
| -t | 查看日志的时间: docker logs -t c_name |
| --since | 查看xx时间之后的日志(绝对时间/相对时间 (s,m,h)),通常配合until使用: 1、docker logs --since "10s" c_name 2、docker logs --since "2023-8-3T17:17:59" c_name |
| --until | 查看xx时间之前的日志(绝对时间/相对时间 (s,m,h)),通常配合until使用: 1、docker logs --until"10s" c_name 2、docker logs --until"2023-8-3T17:17:59" c_name |
实际场景使用如下:
docker logs redis2
可见,在上面实际输出中,查看到全部的,比较乱,其实我们还可以只看最近的多少条日志
-n
查看容器最近的日志
docker logs -n 5 c_name
实际操作:
docker logs -n 5 redis2
-- tail
--tail 与 -n 有一样的效果
命令如下
docker logs --tail 5 c_name
-f
跟踪实时日志输出
命令如下:
docker logs -f c_name
实际操作:
docker logs -n 5 -f redis2
加了 -f 之后,不会返回命令输入行
-t
查看日志的时间
命令如下:
docker logs -t c_name
实际操作:
docker logs -n 5 -f -t redis2
对比一下 加 -t 与 不加 -t 的输出效果
--since
输入一个时间之后的日志
命令如下:
// 2023-08-03T08:39:52.997316206Z 这个日期用 docker logs -t 得到
docker logs -t --since"2023-08-03T08:39:52.997316206Z" redis2
// 14小时前之后的日志
docker logs -t --since "14h" c_name
// 14分钟前之后的的日志
docker logs -t --since "14m" c_name
// 14秒前之后的的日志
docker logs -t --since "14s" c_name
实际运行如下:
docker logs -t --since "2023-08-03T08:39:51" redis2
--until
输出一个时间之前的日志
命令如下:
// 2023-08-03T08:39:52.997316206Z 这个日期用 docker logs -t 得到
docker logs -t --until "2023-08-03T08:39:52.997316206Z" redis2
// 14分钟之前的日志
docker logs -t --until "14h" c_name
// 14分钟之前的日志
docker logs -t --until "14m" c_name
// 14秒之前的日志
docker logs -t --until "14s" c_name
docker logs -t --since "2023-08-03T08:39:52.997316206Z" --until "2023-08-03T08:39:52.997340533Z" redis2