在哪里是一个日志文件与容器中的日志?

我正在使用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运行