docker logs 使用说明

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

docker logs 使用说明_第1张图片

 可见,在上面实际输出中,查看到全部的,比较乱,其实我们还可以只看最近的多少条日志

-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 

docker logs 使用说明_第2张图片

加了 -f 之后,不会返回命令输入行

-t

查看日志的时间

命令如下:

docker logs -t c_name

实际操作:

docker logs -n 5 -f  -t redis2 

docker logs 使用说明_第3张图片

 对比一下 加 -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
docker logs 使用说明_第4张图片

--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" redis2docker logs 使用说明_第5张图片

你可能感兴趣的:(docker,容器,运维)