Reputation: 374
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
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
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
Reputation: 3974
This worked for me -
chmod 400 ~/Library/Containers/com.docker.docker/Data/vms/0/tty
screen $(cat ~/Library/Containers/com.docker.docker/Data/vms/0/tty)
. Press Enter
Upvotes: 0
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
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