How do I inspect the stopped docker container files

Viewed 1340

Step 1:

docker ps -a

container Id: dd5cf6b519b4

I need to inspect inside the stopped docker container which is cannot start.

I tried with docker exec -it container-id bin/bash But this is for running container.

2 Answers
$ docker ps -a

CONTAINER ID   IMAGE   COMMAND     CREATED         STATUS                    NAMES
0dfd54557799   ubuntu  "/bin/bash" 25 seconds ago  Exited (1) 4 seconds ago  peaceful_feynman

Commit the stopped image
$ docker commit 0dfd54557799 debug/ubuntu

now we have a new image
$ docker images
REPOSITORY    TAG     IMAGE ID       CREATED         SIZE  
debug/ubuntu  <none>  cc9db32dcc2d   2 seconds ago   64.3MB

create a new container from the "broken" image
$ docker run -it --rm --entrypoint sh debug/ubuntu


inside of the container we can inspect - for example, the file system
$ ls /app    
App.dll
App.pdb
App.deps.json

You can start container with specific entrypoint

docker run --entrypoint sleep YOUR_IMAGE 3600

It will block current terminal for 3600 seconds. You can open new terminal tab(do not close current one) and you can verify if your container is working with the

docker ps

If you do not want to block current terminal, you can add -d flag to docker run:

docker run -d --entrypoint sleep YOUR_IMAGE 3600

Above command will start docker which will be doing nothing, then you can ssh into the container when it is working with

docker exec -ti CONTAINER HASH sh
Related