--details
显示更多的信息
-f,
--follow
跟踪实时日志
--since
string 显示自某个timestamp之后的日志,或相对时间,如42m(即42分钟)
--tail
string 从日志末尾显示多少行日志, 默认是all
-t,
--timestamps
显示时间戳
--until
string 显示自某个timestamp之前的日志,或相对时间,如42m(即42分钟)
1、查看最新日志
docker logs <容器ID/容器名>
查看docker容器日志可以使用容器的ID或者名称,选择其中一个即可
2、查看实时日志
docker logs -f <容器ID/容器名>
3、查看指定行数的日志
docker logs --tail 行数 <容器ID/容器名>
如果我们只想查看最新的200行日志,则可以使用下面命令
docker logs -f --tail=200 <容器ID/容器名>
在服务器上使用日志排查问题的时候,一般我们会对日志进行过滤
下面是一些常用的过滤方法
1、使用关键词进行过滤:使用grep命令或者其他文本搜索工具,进行关键字的过滤
docker logs <容器id> | grep “关键词”
2、时间范围的过滤:使用–since和–until参数,可以查看指定时间段内的日志
docker logs --since "2023-10-31T00:00:00" --until "2023-10-31T23:59:59" <容器id>
since为显示指定时间之后的日志,until 为显示指定时间之前的日志
3、日志输出
如果我们想将容器日志输出到某个文件,方便我们查看分析,可以使用>进行重定向输出
docker logs <容器id> > container_logs.txt
查看容器日志
先使用 docker run -it --rm -d -p 80:80 nginx:1.15.8-alpine 命令启动一个nginx容器。如果没有异常,会得到容器ID如 d2408a7931c95a3a83ffeca2fba887763cf925a67890ef3be4d9ff838aa25b00 的长串。再使用 curl -i http://127.0.0.1 访问服务,确认nginx容器正常启动运行。最后使用 docker logs -f d24 查看容器的日志输出,大概如下:
172.17.0.1 - - [24/Mar/2019:03:51:21 +
docker容器日志导致主机磁盘空间满了。docker logs -f container_name噼里啪啦一大堆,很占用空间,不用的日志可以清理掉了。
2. 解决方法
2.1 找出Docker容器日志
在linux上,容器日志一般存放在/var/lib/docker/containers/container_id/下面, 以json.log结尾的文件(业务日志)很大,查看各个日志文件大小的脚本docker_log_size.sh,内容如下:
#!/bin/sh
echo ======== docker containers logs file size ========
(1)显示某个时间点后的log信息。下面命令,查询的是2023年4月28日之后的log信息。(3)相对于现在多长时间的log信息。下面的命令,查询的是过去10分钟的log信息。上面的检索我们没办法定位报错信息的上下文可以用-A -B -C匹配。可以配合着--until参数,查询某个时间段内的log信息。(4)按照log中可能包含的字符串,导出log信息。3、查看指定时间范围内的容器日志。5、导出全部的log到文件。4、查看容器日志并实时输出。6、按照时间导出log信息。2、查看容器最新日志。
docker logs -f --since=“2022-09-23” [容器id或服务名称]docker logs -f -t -n=5 [服务名称或者容器名称]docker logs --tail=500 [服务名称或容器id]
如:我的服务名称是admin-mall,如果我想查看服务时时日志: docker logs -f -t -n=5 admin-mall 即可2. 也可以查看某一段的日志,用的指令:
如:我的服务名称是admin-mall,如果我想查看服务时时日志: docker logs --tail=500 admin-mall 即可3. 查看容器是否启动成功用的指令:
4. 查看某个日期至今的所有日志, 并持续打印,使用的指令:......
请注意,日志输出可能会很长,特别是对于运行时间较长的容器。你可以使用Ctrl + C来停止实时日志查看。默认情况下,这将显示容器的最近日志输出。这将保持连接并实时显示新的日志输出,类似于tail -f命令。找到要查看日志的容器的名称或ID。
(1)docker logs --tail=1000 容器名称 (查看容器前多少行的日志)(推荐)
(2)docker 容器启动后,可以进入以下位置查看日志(/var/lib/docker/containers/容器ID/容器ID-json.log)(进入容器内部查看日志)
(3)#查看compose所有容器的运行日志
docker-compose -f docker-compose-app.yml logs -f
(4)#查看compose下某个...
docker查看日志的三种方式:
1.docker logs --tail=1000 容器名称 (查看容器前多少行的日志)
2.docker 容器启动后,可以进入以下位置查看日志(/var/lib/docker/containers/容器ID/容器ID-json.log)(进入容器内部查看日志)
3.docker attach 容器名称(实时查看,但是CTRL+C强制退出以后也会影响容器的进程,...
例子:docker container logs -t --since 1m ce9198caab6d(容器的名称或者容器的id)--since strin 显示自某个timesamp之后的日志,或相对时间,如**分钟之后的日志。--until strin 显示某个时间之前的日志,或相对时间,如**分钟之前的日志。docker logs -f --since "时间如:2022-06-22" [容器id或服务名称]-t, --timestamps 显示时间戳。