在哪里是一个日志文件与容器中的日志?
我正在使用docker-compose
运行几个容器。 我可以使用命令docker-compose logs
查看应用程序docker-compose logs
。 不过,我想访问原始日志文件发送到某个地方,例如? 它在哪里? 我想这是每个容器(内部容器?)单独的日志,但我可以find它?
一个容器的日志可以在下面find:
/var/lib/docker/containers/<container id>/<container id>-json.log
(如果你使用默认的日志格式是json)
您可以通过docker inspect
每个容器,以查看其日志的位置:
docker inspect --format='{{.LogPath}}' $INSTANCE_ID
出于兴趣:
- 问题1083 :
Docker 1.8和docker-compose 1.4已经存在一个使用docker compose log driver和log-opt max-size限制日志大小的方法:
log_driver: "json-file" log_opt: max-size: "100k" max-file: "20"
- 问题1866 :如果容器已经停止,日志不会退出
要以较less的直接查看日志文件,我使用:
docker inspect $1 | grep 'LogPath' | sed -n "s/^.*\(\/var.*\)\",$/\1/p" | xargs sudo less
以./viewLogs.sh CONTAINERNAME运行