Where is a log file with logs from a container?

后端 未结 7 573
南方客
南方客 2020-12-04 06:11

I am running several containers using docker-compose. I can see application logs with command docker-compose logs. However I would like to access r

相关标签:
7条回答
  • 2020-12-04 06:40

    A container's logs can be found in :

    /var/lib/docker/containers/<container id>/<container id>-json.log
    

    (if you use the default log format which is json)

    0 讨论(0)
  • 2020-12-04 06:41

    To see how much space each container's log is taking up, use this:

    docker ps -qa | xargs docker inspect --format='{{.LogPath}}' | xargs ls -hl
    

    (you might need a sudo before ls).

    0 讨论(0)
  • 2020-12-04 06:41

    To directly view the logfile in less, I use:

    docker inspect $1 | grep 'LogPath' | sed -n "s/^.*\(\/var.*\)\",$/\1/p" | xargs sudo less
    

    run as ./viewLogs.sh CONTAINERNAME

    0 讨论(0)
  • 2020-12-04 06:46

    You can docker inspect each container to see where their logs are:

    docker inspect --format='{{.LogPath}}' $INSTANCE_ID
    

    And, in case you were trying to figure out where the logs were to manage their collective size, or adjust parameters of the logging itself you will find the following relevant.

    Fixing the amount of space reserved for the logs

    This is taken from Request for the ability to clear log history (issue 1083)):

    Docker 1.8 and docker-compose 1.4 there is already exists a method to limit log size using docker compose log driver and log-opt max-size:

    mycontainer:
      ...
      log_driver: "json-file"
      log_opt:
        # limit logs to 2MB (20 rotations of 100K each)
        max-size: "100k"
        max-file: "20"
    

    In docker compose files of version '2' , the syntax changed a bit:

    version: '2'
    ...
    mycontainer:
      ...
      logging:
        #limit logs to 200MB (4rotations of 50M each)
        driver: "json-file"
        options:
          max-size: "50m"
          max-file: "4"
    

    (note that in both syntaxes, the numbers are expressed as strings, in quotes)

    Possible issue with docker-compose logs not terminating

    • issue 1866: command logs doesn't exit if the container is already stopped
    0 讨论(0)
  • 2020-12-04 06:46

    On Windows, the default location is: C:\ProgramData\Docker\containers\<container-id>-json.log.

    0 讨论(0)
  • 2020-12-04 06:46
    docker inspect <containername> | grep log
    
    0 讨论(0)
提交回复
热议问题