Logo Questions Linux Laravel Mysql Ubuntu Git Menu
 

How to list files in a stopped Docker container

Tags:

docker

This question shows how to copy files out of a stopped container. This requires that I know the full path to the file including its file name. I know the directory I want to copy a file out of, but I do not know its file name since that is generated dynamically. How do I list the files in a directory in a stopped Docker container?

The following Docker command works great if the Docker container is running. But, it fails if the Docker container is stopped.

docker exec --privileged MyContainer ls -1 /var/log 

Note: The files are not stored in a persistent volume.

like image 702
Nathan Avatar asked Feb 16 '18 19:02

Nathan


People also ask

How do I copy files from a stopped container?

You can copy files out and then back into a container (even when the container is stopped) with the docker cp $cont_name:/path/in/container /path/on/host to copy out and then docker cp /path/on/host $cont_name:/path/in/container .


2 Answers

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
like image 139
Nathan Avatar answered Sep 21 '22 17:09

Nathan


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

like image 35
LVillaca Avatar answered Sep 20 '22 17:09

LVillaca