查看某时间段日志:
docker logs -t --since="2021-08-18T11:46:37" --until "2021-08-18T11:47:37" CONTAINER_ID
使用 grep 过滤日志-1:
docker logs CONTAINER_ID | grep 'error'
使用 grep 过滤日志-2:
docker logs CONTAINER_ID | grep -10 'error' # 打印匹配行的前后10行
docker logs CONTAINER_ID | grep -C 10 'error' # 打印匹配行的前后10行
docker logs CONTAINER_ID | grep -A 10 -B 10 'error' # 打印匹配行的前后10行
docker logs CONTAINER_ID | grep -A 10 'error' # 打印匹配行的后10行
docker logs CONTAINER_ID | grep -B 10 'error' # 打印匹配行的前10行
把日志写入文件:
docker logs -t CONTAINER_ID | grep 'error' >> logs_error.txt
https://www.jianshu.com/p/1eb1d1d3f25e
http://devops.weiminginfo.com/security/1176.html
用法:docker logs [OPTIONS] CONTAINER名称,简写 默认 描述 --details 显示更多的信息 --follow,-f 跟踪日志输出 --since 显示自某个timestamp之后的日志,或相对时间,如42m(即42分钟) --tail,-n all 从日志末尾显示的行数,默认为all --timestamps,-t 显示时间戳 --until ...
--details 显示更多的信息
-f, --follow 跟踪实时
日志
--since string 显示自某个timestamp之后的
日志
,或相对时间,如42m(即42分钟)
--tail string 从
日志
末尾显示多少行
日志
, 默认是all
-t, --timestamps 显示时间戳
--until strin
这是因为管道仅对stdout有效,如果
容器
将
日志
记录到stderr,这种情况就会发生,这时可以尝试这样写
docker
log
s nginx 2>&1 |
grep
INFO
还有一种方式,但是写法比较麻烦
grep
INFO `
docker
inspect --format={{.
Log
Path}} nginx`
–details 显示提供给
日志
的额外细节
–follow -f 按照
日志
输出 (
查看
实时
日志
)
–since 自时间戳(例如2013-01-02T13:23:37)
或相对(例如42分钟42分钟...
docker
使用up -d
命令
后,想
查看
日志
里面的内容,一般使用
docker
log
s -f web
命令
跟随
查看
。如果这个应用运行时间过长,比如3天,那么指定
日志
的开始时间是非常有必要的。可以使用--since,让
容器
日志
只输出指定日期之后的时间。这个时间可以是RFC 3339时间,也可以是UNIX timestamp,例如:
docker
log
s --since="2015-08-...
1. 问题
docker
容器
日志
导致主机磁盘空间满了。
docker
log
s -f container_name噼里啪啦一大堆,很占用空间,不用的
日志
可以清理掉了。
2. 解决方法
2.1 找出
Docker
容器
日志
在linux上,
容器
日志
一般存放在/var/lib/
docker
/containers/container_id/下面, 以json.
log
结尾的文件(业务
日志
)很大,
查看
各个
日志
文件大小的脚本
docker
_
log
_size.sh,内容如下:
#!/bin/sh
echo "========
Docker
有很多的
日志
插件,默认使用 json-file,只有使用json-file时,sudo
docker
log
s -f 才可以显示,输入以下
命令
查看
docker
日志
插件:
$ sudo
docker
info |
grep
Log
ging
这里先说明一下,当
容器
运行时,
docker
会在宿主机上创建一个该
容器
相关的文件,然后将
容器
产生的
日志
转存到该文件下。
docker
log
s -f
命令
就会找到该文件内容并显示在终端上。
我们都知道
docker
log
s -f会将所有对应的服务
日志
输出到终端,无论服务的部署在哪个节点上,那么我现在提出一个问题,是否每个节点对应的
容器
文件,都会保存该
查看
容器
日志
先使用
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
log
s -f d24
查看
容器
的
日志
输出,大概如下:
172.17.0.1 - - [24/Mar/2019:03:51:21 +