How to list files in a stopped Docker container

When starting the container is not an option, you can always export your image (a bit overkill but..) and list its contents:

docker export -o dump.tar <container id>

tar -tvf dump.tar

Reference: Baeldung - Exploring a Docker Container’s Filesystem


The command docker diff *CONTAINER* will list the files added, deleted and changed since the Container started.

If a file did not change since the container was started, then you would have to know the contents of the original image that started the container. So, this answer is not ideal but avoids creating an image and running it.

Unlike container-diff, this command does not require first creating a Docker image.


This answer to another question shows how to start a stopped container with another command. Here are the commands to list files in a stopped container.

  1. Commit the stopped container to a new image: test_image.
    • docker commit $CONTAINER_ID test_image
  2. Run the new image in a new container with a shell.
    • docker run -ti --entrypoint=sh test_image
  3. Run the list file command in the new container.
    • docker exec --privileged $NEW_CONTAINER_ID ls -1 /var/log

If you want to see a certain file content, I would suggest using docker container cp command. Here is the doc. It works on stopped container. Example:

docker container cp 02b1ef7de80a:/etc/nginx/conf.d/default.conf ./

This way I got the config file that was generated by templating engine during start.

Tags:

Docker