Felix Wong
Felix Wong

Reputation: 374

Docker container log file not found on Mac

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?

Upvotes: 24

Views: 18186

Answers (5)

estani
estani

Reputation: 26547

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?

Upvotes: 3

FaisalKhan
FaisalKhan

Reputation: 2506

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

Upvotes: 1

inquisitive
inquisitive

Reputation: 3974

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

Upvotes: 0

Bibhu Raj Sinha
Bibhu Raj Sinha

Reputation: 191

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

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

in new versions of docker.

Upvotes: 19

Lauri
Lauri

Reputation: 4679

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

Upvotes: 15

Related Questions