23

I am trying to find the docker container log file on Mac. The container is still running.

I can see output from docker logs es5.
Run

docker inspect -f {{.LogPath}} es5

and I got a the filename.

/var/lib/docker/containers/3ac5831155da80986cf7cd45889ce5015cd5b8b0b1d667fa2f66a4da2745caef/3ac5831155da80986cf7cd45889ce5015cd5b8b0b1d667fa2f66a4da2745caef-json.log

However, when I cat the file, it can't be found.

cat \`docker inspect -f {{.LogPath}} es5\`

cat: /var/lib/docker/containers/3ac5831155da80986cf7cd45889ce5015cd5b8b0b1d667fa2f66a4da2745caef/3ac5831155da80986cf7cd45889ce5015cd5b8b0b1d667fa2f66a4da2745caef-json.log: No such file or directory

Am I missing something?

Shubham
  • 2,847
  • 4
  • 24
  • 37
Felix Wong
  • 364
  • 1
  • 2
  • 8

5 Answers5

19

To access /var/lib/docker/containers/ , try

screen ~/Library/Containers/com.docker.docker/Data/vms/0/tty

in new versions of docker.

Community
  • 1
  • 1
Bibhu Raj Sinha
  • 191
  • 1
  • 3
15

Container logs are stored inside Docker for Mac VM not on your MacOS host. You can enter into VM with screen ~/Library/Containers/com.docker.docker/Data/com.docker.driver.amd64-linux/tty command and then cat the log file.

Please see Screen Commands for Docker for Mac for additional info

Lauri
  • 4,336
  • 3
  • 18
  • 18
2

They are within docker-desktop (LinuxKit), not in the host.

Cat them like this:

docker run -it --rm --privileged --pid=host debian nsenter -t 1 -m -u -n -i cat /var/lib/docker/containers/3ac5831155da80986cf7cd45889ce5015cd5b8b0b1d667fa2f66a4da2745caef/3ac5831155da80986cf7cd45889ce5015cd5b8b0b1d667fa2f66a4da2745caef-json.log

but then again docker logs es5 would have been the same...

You can directly create a shell to docker-descktop:

docker run -it --rm --privileged --pid=host debian nsenter -t 1 -m -u -n -i sh

Already answered here: How do I access the Docker CE virtual machine on MacOS BigSur?

estani
  • 24,254
  • 2
  • 93
  • 76
1

I am using Docker desktop and was not able to find the log file.

I found the following and it worked perfectly

https://blog.tkuchiki.net/en/clear-docker-container-logs-docker-for-mac

FaisalKhan
  • 2,406
  • 3
  • 25
  • 32
  • 3
    link broken, still can access from archive https://web.archive.org/web/20210411174622/https://blog.tkuchiki.net/en/clear-docker-container-logs-docker-for-mac – parse Feb 14 '22 at 21:45
0

This worked for me -

  • Make the tty file readable: chmod 400 ~/Library/Containers/com.docker.docker/Data/vms/0/tty
  • Do not execute that file, but read its contents: screen $(cat ~/Library/Containers/com.docker.docker/Data/vms/0/tty). Press Enter
inquisitive
  • 3,738
  • 6
  • 30
  • 56